{
 "cells": [
  {
   "cell_type": "code",
   "execution_count": 1,
   "metadata": {
    "pycharm": {
     "name": "#%%\n"
    }
   },
   "outputs": [
    {
     "data": {
      "text/html": [
       "            <div id=\"kotlin_out_0\"/>\n",
       "            <script type=\"text/javascript\">\n",
       "                            if(!window.kotlinQueues) {\n",
       "                window.kotlinQueues = {};\n",
       "            }\n",
       "            if(!window.kotlinQueues[\"DataFrame\"]) {\n",
       "                var resQueue = [];\n",
       "                window.kotlinQueues[\"DataFrame\"] = resQueue;\n",
       "                window[\"call_DataFrame\"] = function(f) {\n",
       "                    resQueue.push(f);\n",
       "                }\n",
       "            }\n",
       "            (function (){\n",
       "                var modifiers = [(function(script) {\n",
       "    script.src = \"https://cdn.jsdelivr.net/gh/Kotlin/dataframe@d6467c1389bc031958acd5310fce39167b5cc581/src/main/resources/init.js\"\n",
       "    script.type = \"text/javascript\";\n",
       "})];\n",
       "                var e = document.getElementById(\"kotlin_out_0\");\n",
       "                modifiers.forEach(function (gen) {\n",
       "                    var script = document.createElement(\"script\");\n",
       "                    gen(script)\n",
       "                    script.addEventListener(\"load\", function() {\n",
       "                        window[\"call_DataFrame\"] = function(f) {f();};\n",
       "                        window.kotlinQueues[\"DataFrame\"].forEach(function(f) {f();});\n",
       "                        window.kotlinQueues[\"DataFrame\"] = [];\n",
       "                    }, false);\n",
       "                    script.addEventListener(\"error\", function() {\n",
       "                        window[\"call_DataFrame\"] = function(f) {};\n",
       "                        window.kotlinQueues[\"DataFrame\"] = [];\n",
       "                        var div = document.createElement(\"div\");\n",
       "                        div.style.color = 'darkred';\n",
       "                        div.textContent = 'Error loading resource DataFrame';\n",
       "                        document.getElementById(\"kotlin_out_0\").appendChild(div);\n",
       "                    }, false);\n",
       "                    \n",
       "                    e.appendChild(script);\n",
       "                });\n",
       "            })();\n",
       "            </script>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "text/html": [
       "                <style>\n",
       "                :root {\n",
       "    --background: #fff;\n",
       "    --background-odd: #f5f5f5;\n",
       "    --background-hover: #d9edfd;\n",
       "    --header-text-color: #474747;\n",
       "    --text-color: #848484;\n",
       "    --text-color-dark: #000;\n",
       "    --text-color-medium: #737373;\n",
       "    --text-color-pale: #b3b3b3;\n",
       "    --inner-border-color: #aaa;\n",
       "    --bold-border-color: #000;\n",
       "    --link-color: #296eaa;\n",
       "    --link-color-pale: #296eaa;\n",
       "    --link-hover: #1a466c;\n",
       "}\n",
       "\n",
       ":root[theme=\"dark\"], :root [data-jp-theme-light=\"false\"]{\n",
       "    --background: #303030;\n",
       "    --background-odd: #3c3c3c;\n",
       "    --background-hover: #464646;\n",
       "    --header-text-color: #dddddd;\n",
       "    --text-color: #b3b3b3;\n",
       "    --text-color-dark: #dddddd;\n",
       "    --text-color-medium: #b2b2b2;\n",
       "    --text-color-pale: #737373;\n",
       "    --inner-border-color: #707070;\n",
       "    --bold-border-color: #777777;\n",
       "    --link-color: #008dc0;\n",
       "    --link-color-pale: #97e1fb;\n",
       "    --link-hover: #00688e;\n",
       "}\n",
       "\n",
       "table.dataframe {\n",
       "    font-family: \"Helvetica Neue\", Helvetica, Arial, sans-serif;\n",
       "    font-size: 12px;\n",
       "    background-color: var(--background);\n",
       "    color: var(--text-color-dark);\n",
       "    border: none;\n",
       "    border-collapse: collapse;\n",
       "}\n",
       "\n",
       "table.dataframe th, td {\n",
       "    padding: 6px;\n",
       "    border: 1px solid transparent;\n",
       "    text-align: left;\n",
       "}\n",
       "\n",
       "table.dataframe th {\n",
       "    background-color: var(--background);\n",
       "    color: var(--header-text-color);\n",
       "}\n",
       "\n",
       "table.dataframe td {\n",
       "    vertical-align: top;\n",
       "}\n",
       "\n",
       "table.dataframe th.bottomBorder {\n",
       "    border-bottom-color: var(--bold-border-color);\n",
       "}\n",
       "\n",
       "table.dataframe tbody > tr:nth-child(odd) {\n",
       "    background: var(--background-odd);\n",
       "}\n",
       "\n",
       "table.dataframe tbody > tr:nth-child(even) {\n",
       "    background: var(--background);\n",
       "}\n",
       "\n",
       "table.dataframe tbody > tr:hover {\n",
       "    background: var(--background-hover);\n",
       "}\n",
       "\n",
       "table.dataframe a {\n",
       "    cursor: pointer;\n",
       "    color: var(--link-color);\n",
       "    text-decoration: none;\n",
       "}\n",
       "\n",
       "table.dataframe tr:hover > td a {\n",
       "    color: var(--link-color-pale);\n",
       "}\n",
       "\n",
       "table.dataframe a:hover {\n",
       "    color: var(--link-hover);\n",
       "    text-decoration: underline;\n",
       "}\n",
       "\n",
       "table.dataframe img {\n",
       "    max-width: fit-content;\n",
       "}\n",
       "\n",
       "table.dataframe th.complex {\n",
       "    background-color: var(--background);\n",
       "    border: 1px solid var(--background);\n",
       "}\n",
       "\n",
       "table.dataframe .leftBorder {\n",
       "    border-left-color: var(--inner-border-color);\n",
       "}\n",
       "\n",
       "table.dataframe .rightBorder {\n",
       "    border-right-color: var(--inner-border-color);\n",
       "}\n",
       "\n",
       "table.dataframe .rightAlign {\n",
       "    text-align: right;\n",
       "}\n",
       "\n",
       "table.dataframe .expanderSvg {\n",
       "    width: 8px;\n",
       "    height: 8px;\n",
       "    margin-right: 3px;\n",
       "}\n",
       "\n",
       "table.dataframe .expander {\n",
       "    display: flex;\n",
       "    align-items: center;\n",
       "}\n",
       "\n",
       "/* formatting */\n",
       "\n",
       "table.dataframe .null {\n",
       "    color: var(--text-color-pale);\n",
       "}\n",
       "\n",
       "table.dataframe .structural {\n",
       "    color: var(--text-color-medium);\n",
       "    font-weight: bold;\n",
       "}\n",
       "\n",
       "table.dataframe .dataFrameCaption {\n",
       "    font-weight: bold;\n",
       "}\n",
       "\n",
       "table.dataframe .numbers {\n",
       "    color: var(--text-color-dark);\n",
       "}\n",
       "\n",
       "table.dataframe td:hover .formatted .structural, .null {\n",
       "    color: var(--text-color-dark);\n",
       "}\n",
       "\n",
       "table.dataframe tr:hover .formatted .structural, .null {\n",
       "    color: var(--text-color-dark);\n",
       "}\n",
       "\n",
       "\n",
       "                </style>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "text/html": [
       "   <div id=\"WUI80L\"></div>\n",
       "   <script type=\"text/javascript\" data-lets-plot-script=\"library\">\n",
       "       if(!window.letsPlotCallQueue) {\n",
       "           window.letsPlotCallQueue = [];\n",
       "       }; \n",
       "       window.letsPlotCall = function(f) {\n",
       "           window.letsPlotCallQueue.push(f);\n",
       "       };\n",
       "       (function() {\n",
       "           var script = document.createElement(\"script\");\n",
       "           script.type = \"text/javascript\";\n",
       "           script.src = \"https://cdn.jsdelivr.net/gh/JetBrains/lets-plot@v2.4.0/js-package/distr/lets-plot.min.js\";\n",
       "           script.onload = function() {\n",
       "               window.letsPlotCall = function(f) {f();};\n",
       "               window.letsPlotCallQueue.forEach(function(f) {f();});\n",
       "               window.letsPlotCallQueue = [];\n",
       "               \n",
       "               \n",
       "           };\n",
       "           script.onerror = function(event) {\n",
       "               window.letsPlotCall = function(f) {};\n",
       "               window.letsPlotCallQueue = [];\n",
       "               var div = document.createElement(\"div\");\n",
       "               div.style.color = 'darkred';\n",
       "               div.textContent = 'Error loading Lets-Plot JS';\n",
       "               document.getElementById(\"WUI80L\").appendChild(div);\n",
       "           };\n",
       "           var e = document.getElementById(\"WUI80L\");\n",
       "           e.appendChild(script);\n",
       "       })();\n",
       "   </script>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "%useLatestDescriptors\n",
    "%use dataframe, lets-plot"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "pycharm": {
     "name": "#%% md\n"
    }
   },
   "source": [
    "Kotlin DataFrame can be used to work with REST APIs, JSON (let's say some logs or dump of a document database) and other hierarchical structures without the need to write boilerplate code that describes your data.  "
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "pycharm": {
     "name": "#%% md\n"
    }
   },
   "source": [
    "Let's see how it works. This example is divided into two sections.\n",
    "- Section 1. Answer these questions using a prepared data sample:\n",
    "1. How many contributors there are and how much do they contribute?\n",
    "2. How many of those contributors are not JetBrains members (according to GitHub)?\n",
    "3. What is the most starred project?\n",
    "- Section 2. Build the data sample "
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "pycharm": {
     "name": "#%% md\n"
    }
   },
   "source": [
    "Section 1."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 2,
   "metadata": {
    "pycharm": {
     "name": "#%%\n"
    }
   },
   "outputs": [
    {
     "data": {
      "text/html": [
       "        <html>\n",
       "        <head>\n",
       "            <style type=\"text/css\">\n",
       "                \n",
       "\n",
       "            </style>\n",
       "        </head>\n",
       "        <body>\n",
       "            <table class=\"dataframe\" id=\"df_-1610612736\"></table>\n",
       "\n",
       "<p>DataFrame: rowsCount = 1, columnsCount = 4</p>\n",
       "        </body>\n",
       "        <script>\n",
       "            /*<!--*/\n",
       "call_DataFrame(function() { DataFrame.addTable({ cols: [{ name: \"<span title=\\\"url: String\\\">url</span>\", children: [], rightAlign: false, values: [\"https://api.github.com/orgs/JetBrains\"] }, \n",
       "{ name: \"<span title=\\\"name: String\\\">name</span>\", children: [], rightAlign: false, values: [\"JetBrains\"] }, \n",
       "{ name: \"<span title=\\\"repos: DataFrame\\\">repos</span>\", children: [], rightAlign: false, values: [{ frameId: -1610612735, value: \"<b>DataFrame 100 x 37</b>\" }] }, \n",
       "{ name: \"<span title=\\\"members: DataFrame\\\">members</span>\", children: [], rightAlign: false, values: [{ frameId: -1610612734, value: \"<b>DataFrame 187 x 7</b>\" }] }, \n",
       "], id: -1610612736, rootId: -1610612736, totalRows: 1 } ) });\n",
       "/*-->*/\n",
       "\n",
       "/*<!--*/\n",
       "call_DataFrame(function() { DataFrame.addTable({ cols: [{ name: \"<span title=\\\"id: String\\\">id</span>\", children: [], rightAlign: false, values: [\"294457\",\"1098358\",\"1156792\",\"1459486\",\"1900367\"] }, \n",
       "{ name: \"<span title=\\\"node_id: String\\\">node_id</span>\", children: [], rightAlign: false, values: [\"MDEwOlJlcG9zaXRvcnkyOTQ0NTc=\",\"MDEwOlJlcG9zaXRvcnkxMDk4MzU4\",\"MDEwOlJlcG9zaXRvcnkxMTU2Nzky\",\"MDEwOlJlcG9zaXRvcnkxNDU5NDg2\",\"MDEwOlJlcG9zaXRvcnkxOTAwMzY3\"] }, \n",
       "{ name: \"<span title=\\\"name: String\\\">name</span>\", children: [], rightAlign: false, values: [\"JPS\",\"YouTrackSharp\",\"colorSchemeTool\",\"ideavim\",\"youtrack-vcs-hooks\"] }, \n",
       "{ name: \"<span title=\\\"full_name: String\\\">full_name</span>\", children: [], rightAlign: false, values: [\"JetBrains/JPS\",\"JetBrains/YouTrackSharp\",\"JetBrains/colorSchemeTool\",\"JetBrains/ideavim\",\"JetBrains/youtrack-vcs-hooks\"] }, \n",
       "{ name: \"<span title=\\\"private: String\\\">private</span>\", children: [], rightAlign: false, values: [\"false\",\"false\",\"false\",\"false\",\"false\"] }, \n",
       "{ name: \"<span title=\\\"html_url: String\\\">html_url</span>\", children: [], rightAlign: false, values: [\"https://github.com/JetBrains/JPS\",\"<span class=\\\"formatted\\\" title=\\\"https://github.com/JetBrains/YouTrackSharp\\\">https://github.com/JetBrains/YouTrack<span class=\\\"structural\\\">...</span></span>\",\"<span class=\\\"formatted\\\" title=\\\"https://github.com/JetBrains/colorSchemeTool\\\">https://github.com/JetBrains/colorSch<span class=\\\"structural\\\">...</span></span>\",\"https://github.com/JetBrains/ideavim\",\"<span class=\\\"formatted\\\" title=\\\"https://github.com/JetBrains/youtrack-vcs-hooks\\\">https://github.com/JetBrains/youtrack<span class=\\\"structural\\\">...</span></span>\"] }, \n",
       "{ name: \"<span title=\\\"description: String?\\\">description</span>\", children: [], rightAlign: false, values: [\"<span class=\\\"formatted\\\" title=\\\"Gant based build framework + dsl, with declarative project structure definition and automatic IntelliJ IDEA projects build\\\">Gant based build framework + dsl, wit<span class=\\\"structural\\\">...</span></span>\",\"<span class=\\\"formatted\\\" title=\\\".NET Standard 2.0 Library to access YouTrack API.\\\">.NET Standard 2.0 Library to access Y<span class=\\\"structural\\\">...</span></span>\",\"<span class=\\\"formatted\\\" title=\\\"\\\"><span class=\\\"null\\\">null</span></span>\",\"<span class=\\\"formatted\\\" title=\\\"Vim emulation plugin for IDEs based on the IntelliJ Platform\\\">Vim emulation plugin for IDEs based o<span class=\\\"structural\\\">...</span></span>\",\"<span class=\\\"formatted\\\" title=\\\"version control hooks to use with YouTrack bug tracker\\\">version control hooks to use with You<span class=\\\"structural\\\">...</span></span>\"] }, \n",
       "{ name: \"<span title=\\\"fork: String\\\">fork</span>\", children: [], rightAlign: false, values: [\"false\",\"false\",\"false\",\"false\",\"false\"] }, \n",
       "{ name: \"<span title=\\\"url: String\\\">url</span>\", children: [], rightAlign: false, values: [\"<span class=\\\"formatted\\\" title=\\\"https://api.github.com/repos/JetBrains/JPS\\\">https://api.github.com/repos/JetBrain<span class=\\\"structural\\\">...</span></span>\",\"<span class=\\\"formatted\\\" title=\\\"https://api.github.com/repos/JetBrains/YouTrackSharp\\\">https://api.github.com/repos/JetBrain<span class=\\\"structural\\\">...</span></span>\",\"<span class=\\\"formatted\\\" title=\\\"https://api.github.com/repos/JetBrains/colorSchemeTool\\\">https://api.github.com/repos/JetBrain<span class=\\\"structural\\\">...</span></span>\",\"<span class=\\\"formatted\\\" title=\\\"https://api.github.com/repos/JetBrains/ideavim\\\">https://api.github.com/repos/JetBrain<span class=\\\"structural\\\">...</span></span>\",\"<span class=\\\"formatted\\\" title=\\\"https://api.github.com/repos/JetBrains/youtrack-vcs-hooks\\\">https://api.github.com/repos/JetBrain<span class=\\\"structural\\\">...</span></span>\"] }, \n",
       "{ name: \"<span title=\\\"created_at: String\\\">created_at</span>\", children: [], rightAlign: false, values: [\"2009-09-01T16:34:40Z\",\"2010-11-20T21:34:42Z\",\"2010-12-10T18:19:50Z\",\"2011-03-09T15:22:27Z\",\"2011-06-15T13:52:59Z\"] }, \n",
       "{ name: \"<span title=\\\"updated_at: String\\\">updated_at</span>\", children: [], rightAlign: false, values: [\"2021-11-21T02:45:55Z\",\"2021-10-12T15:31:09Z\",\"2021-11-02T21:32:31Z\",\"2021-11-25T10:13:27Z\",\"2021-11-21T02:46:00Z\"] }, \n",
       "{ name: \"<span title=\\\"pushed_at: String\\\">pushed_at</span>\", children: [], rightAlign: false, values: [\"2020-01-31T18:11:06Z\",\"2021-08-24T10:09:04Z\",\"2021-11-05T01:14:43Z\",\"2021-11-25T07:48:55Z\",\"2017-10-13T14:10:29Z\"] }, \n",
       "{ name: \"<span title=\\\"homepage: String?\\\">homepage</span>\", children: [], rightAlign: false, values: [\"\",\"https://www.jetbrains.com/youtrack\",\"<span class=\\\"formatted\\\" title=\\\"\\\"><span class=\\\"null\\\">null</span></span>\",\"http://plugins.jetbrains.com/plugin/164\",\"http://www.jetbrains.com/youtrack/\"] }, \n",
       "{ name: \"<span title=\\\"size: String\\\">size</span>\", children: [], rightAlign: false, values: [\"31261\",\"29639\",\"866\",\"57901\",\"1\"] }, \n",
       "{ name: \"<span title=\\\"stargazers_count: String\\\">stargazers_count</span>\", children: [], rightAlign: false, values: [\"23\",\"115\",\"290\",\"6120\",\"5\"] }, \n",
       "{ name: \"<span title=\\\"watchers_count: String\\\">watchers_count</span>\", children: [], rightAlign: false, values: [\"23\",\"115\",\"290\",\"6120\",\"5\"] }, \n",
       "{ name: \"<span title=\\\"language: String?\\\">language</span>\", children: [], rightAlign: false, values: [\"Java\",\"C#\",\"Python\",\"Kotlin\",\"Ruby\"] }, \n",
       "{ name: \"<span title=\\\"has_issues: String\\\">has_issues</span>\", children: [], rightAlign: false, values: [\"true\",\"true\",\"true\",\"false\",\"true\"] }, \n",
       "{ name: \"<span title=\\\"has_projects: String\\\">has_projects</span>\", children: [], rightAlign: false, values: [\"true\",\"false\",\"true\",\"false\",\"true\"] }, \n",
       "{ name: \"<span title=\\\"has_downloads: String\\\">has_downloads</span>\", children: [], rightAlign: false, values: [\"true\",\"true\",\"true\",\"true\",\"true\"] }, \n",
       "{ name: \"<span title=\\\"has_wiki: String\\\">has_wiki</span>\", children: [], rightAlign: false, values: [\"true\",\"false\",\"true\",\"true\",\"true\"] }, \n",
       "{ name: \"<span title=\\\"has_pages: String\\\">has_pages</span>\", children: [], rightAlign: false, values: [\"false\",\"false\",\"false\",\"false\",\"false\"] }, \n",
       "{ name: \"<span title=\\\"forks_count: String\\\">forks_count</span>\", children: [], rightAlign: false, values: [\"6\",\"100\",\"62\",\"607\",\"3\"] }, \n",
       "{ name: \"<span title=\\\"archived: String\\\">archived</span>\", children: [], rightAlign: false, values: [\"false\",\"false\",\"false\",\"false\",\"true\"] }, \n",
       "{ name: \"<span title=\\\"disabled: String\\\">disabled</span>\", children: [], rightAlign: false, values: [\"false\",\"false\",\"false\",\"false\",\"false\"] }, \n",
       "{ name: \"<span title=\\\"open_issues_count: String\\\">open_issues_count</span>\", children: [], rightAlign: false, values: [\"0\",\"10\",\"10\",\"1\",\"0\"] }, \n",
       "{ name: \"<span title=\\\"allow_forking: String\\\">allow_forking</span>\", children: [], rightAlign: false, values: [\"true\",\"true\",\"true\",\"true\",\"true\"] }, \n",
       "{ name: \"<span title=\\\"is_template: String\\\">is_template</span>\", children: [], rightAlign: false, values: [\"false\",\"false\",\"false\",\"false\",\"false\"] }, \n",
       "{ name: \"<span title=\\\"topics: String\\\">topics</span>\", children: [], rightAlign: false, values: [\"[]\",\"<span class=\\\"formatted\\\" title=\\\"[jetbrains, jetbrains-youtrack, youtrack, youtrack-api]\\\">[jetbrains, jetbrains-youtrack, youtr<span class=\\\"structural\\\">...</span></span>\",\"[]\",\"<span class=\\\"formatted\\\" title=\\\"[ideavim, intellij, intellij-platform, jb-official, kotlin, vim, vim-emulator]\\\">[ideavim, intellij, intellij-platform<span class=\\\"structural\\\">...</span></span>\",\"[]\"] }, \n",
       "{ name: \"<span title=\\\"visibility: String\\\">visibility</span>\", children: [], rightAlign: false, values: [\"public\",\"public\",\"public\",\"public\",\"public\"] }, \n",
       "{ name: \"<span title=\\\"forks: String\\\">forks</span>\", children: [], rightAlign: false, values: [\"6\",\"100\",\"62\",\"607\",\"3\"] }, \n",
       "{ name: \"<span title=\\\"open_issues: String\\\">open_issues</span>\", children: [], rightAlign: false, values: [\"0\",\"10\",\"10\",\"1\",\"0\"] }, \n",
       "{ name: \"<span title=\\\"watchers: String\\\">watchers</span>\", children: [], rightAlign: false, values: [\"23\",\"115\",\"290\",\"6120\",\"5\"] }, \n",
       "{ name: \"<span title=\\\"default_branch: String\\\">default_branch</span>\", children: [], rightAlign: false, values: [\"master\",\"213\",\"master\",\"master\",\"master\"] }, \n",
       "{ name: \"<span title=\\\"admin: String\\\">admin</span>\", children: [], rightAlign: false, values: [\"false\",\"false\",\"false\",\"false\",\"false\"] }, \n",
       "{ name: \"<span title=\\\"maintain: String\\\">maintain</span>\", children: [], rightAlign: false, values: [\"false\",\"false\",\"false\",\"false\",\"false\"] }, \n",
       "{ name: \"<span title=\\\"push: String\\\">push</span>\", children: [], rightAlign: false, values: [\"false\",\"false\",\"false\",\"false\",\"false\"] }, \n",
       "{ name: \"<span title=\\\"triage: String\\\">triage</span>\", children: [], rightAlign: false, values: [\"false\",\"false\",\"false\",\"false\",\"false\"] }, \n",
       "{ name: \"<span title=\\\"pull: String\\\">pull</span>\", children: [], rightAlign: false, values: [\"true\",\"true\",\"true\",\"true\",\"true\"] }, \n",
       "{ name: \"<span title=\\\"permissions: DataRow\\\">permissions</span>\", children: [34, 35, 36, 37, 38], rightAlign: false, values: [\"<span class=\\\"formatted\\\" title=\\\"admin: false\\nmaintain: false\\npush: false\\ntriage: false\\npull: true\\\"><span class=\\\"structural\\\">{ </span><span class=\\\"structural\\\">admin: </span>false<span class=\\\"structural\\\">, </span><span class=\\\"structural\\\">maintain: </span>false<span class=\\\"structural\\\">, </span><span class=\\\"structural\\\">...</span><span class=\\\"structural\\\"> }</span></span>\",\"<span class=\\\"formatted\\\" title=\\\"admin: false\\nmaintain: false\\npush: false\\ntriage: false\\npull: true\\\"><span class=\\\"structural\\\">{ </span><span class=\\\"structural\\\">admin: </span>false<span class=\\\"structural\\\">, </span><span class=\\\"structural\\\">maintain: </span>false<span class=\\\"structural\\\">, </span><span class=\\\"structural\\\">...</span><span class=\\\"structural\\\"> }</span></span>\",\"<span class=\\\"formatted\\\" title=\\\"admin: false\\nmaintain: false\\npush: false\\ntriage: false\\npull: true\\\"><span class=\\\"structural\\\">{ </span><span class=\\\"structural\\\">admin: </span>false<span class=\\\"structural\\\">, </span><span class=\\\"structural\\\">maintain: </span>false<span class=\\\"structural\\\">, </span><span class=\\\"structural\\\">...</span><span class=\\\"structural\\\"> }</span></span>\",\"<span class=\\\"formatted\\\" title=\\\"admin: false\\nmaintain: false\\npush: false\\ntriage: false\\npull: true\\\"><span class=\\\"structural\\\">{ </span><span class=\\\"structural\\\">admin: </span>false<span class=\\\"structural\\\">, </span><span class=\\\"structural\\\">maintain: </span>false<span class=\\\"structural\\\">, </span><span class=\\\"structural\\\">...</span><span class=\\\"structural\\\"> }</span></span>\",\"<span class=\\\"formatted\\\" title=\\\"admin: false\\nmaintain: false\\npush: false\\ntriage: false\\npull: true\\\"><span class=\\\"structural\\\">{ </span><span class=\\\"structural\\\">admin: </span>false<span class=\\\"structural\\\">, </span><span class=\\\"structural\\\">maintain: </span>false<span class=\\\"structural\\\">, </span><span class=\\\"structural\\\">...</span><span class=\\\"structural\\\"> }</span></span>\"] }, \n",
       "{ name: \"<span title=\\\"contributors: DataFrame\\\">contributors</span>\", children: [], rightAlign: false, values: [{ frameId: -1610612733, value: \"<b>DataFrame 4 x 8</b>\" },{ frameId: -1610612732, value: \"<b>DataFrame 20 x 8</b>\" },{ frameId: -1610612731, value: \"<b>DataFrame 10 x 8</b>\" },{ frameId: -1610612730, value: \"<b>DataFrame 87 x 8</b>\" },{ frameId: -1610612729, value: \"<b>DataFrame 1 x 8</b>\" }] }, \n",
       "{ name: \"<span title=\\\"key: String?\\\">key</span>\", children: [], rightAlign: false, values: [\"<span class=\\\"formatted\\\" title=\\\"\\\"><span class=\\\"null\\\">null</span></span>\",\"apache-2.0\",\"apache-2.0\",\"gpl-2.0\",\"<span class=\\\"formatted\\\" title=\\\"\\\"><span class=\\\"null\\\">null</span></span>\"] }, \n",
       "{ name: \"<span title=\\\"name: String?\\\">name</span>\", children: [], rightAlign: false, values: [\"<span class=\\\"formatted\\\" title=\\\"\\\"><span class=\\\"null\\\">null</span></span>\",\"Apache License 2.0\",\"Apache License 2.0\",\"GNU General Public License v2.0\",\"<span class=\\\"formatted\\\" title=\\\"\\\"><span class=\\\"null\\\">null</span></span>\"] }, \n",
       "{ name: \"<span title=\\\"spdx_id: String?\\\">spdx_id</span>\", children: [], rightAlign: false, values: [\"<span class=\\\"formatted\\\" title=\\\"\\\"><span class=\\\"null\\\">null</span></span>\",\"Apache-2.0\",\"Apache-2.0\",\"GPL-2.0\",\"<span class=\\\"formatted\\\" title=\\\"\\\"><span class=\\\"null\\\">null</span></span>\"] }, \n",
       "{ name: \"<span title=\\\"url: String?\\\">url</span>\", children: [], rightAlign: false, values: [\"<span class=\\\"formatted\\\" title=\\\"\\\"><span class=\\\"null\\\">null</span></span>\",\"<span class=\\\"formatted\\\" title=\\\"https://api.github.com/licenses/apache-2.0\\\">https://api.github.com/licenses/apach<span class=\\\"structural\\\">...</span></span>\",\"<span class=\\\"formatted\\\" title=\\\"https://api.github.com/licenses/apache-2.0\\\">https://api.github.com/licenses/apach<span class=\\\"structural\\\">...</span></span>\",\"https://api.github.com/licenses/gpl-2.0\",\"<span class=\\\"formatted\\\" title=\\\"\\\"><span class=\\\"null\\\">null</span></span>\"] }, \n",
       "{ name: \"<span title=\\\"node_id: String?\\\">node_id</span>\", children: [], rightAlign: false, values: [\"<span class=\\\"formatted\\\" title=\\\"\\\"><span class=\\\"null\\\">null</span></span>\",\"MDc6TGljZW5zZTI=\",\"MDc6TGljZW5zZTI=\",\"MDc6TGljZW5zZTg=\",\"<span class=\\\"formatted\\\" title=\\\"\\\"><span class=\\\"null\\\">null</span></span>\"] }, \n",
       "{ name: \"<span title=\\\"license: DataRow\\\">license</span>\", children: [41, 42, 43, 44, 45], rightAlign: false, values: [\"<span class=\\\"formatted\\\" title=\\\"\\\"><span class=\\\"null\\\">{ }</span></span>\",\"<span class=\\\"formatted\\\" title=\\\"key: apache-2.0\\nname: Apache License 2.0\\nspdx_id: Apache-2.0\\nurl: https://api.github.com/licenses/apache-2.0\\nnode_id: MDc6TGljZW5zZTI=\\\"><span class=\\\"structural\\\">{ </span><span class=\\\"structural\\\">key: </span>apache-2.0<span class=\\\"structural\\\">, </span><span class=\\\"structural\\\">name: </span>Apach<span class=\\\"structural\\\">...</span><span class=\\\"structural\\\">, </span><span class=\\\"structural\\\">...</span><span class=\\\"structural\\\"> }</span></span>\",\"<span class=\\\"formatted\\\" title=\\\"key: apache-2.0\\nname: Apache License 2.0\\nspdx_id: Apache-2.0\\nurl: https://api.github.com/licenses/apache-2.0\\nnode_id: MDc6TGljZW5zZTI=\\\"><span class=\\\"structural\\\">{ </span><span class=\\\"structural\\\">key: </span>apache-2.0<span class=\\\"structural\\\">, </span><span class=\\\"structural\\\">name: </span>Apach<span class=\\\"structural\\\">...</span><span class=\\\"structural\\\">, </span><span class=\\\"structural\\\">...</span><span class=\\\"structural\\\"> }</span></span>\",\"<span class=\\\"formatted\\\" title=\\\"key: gpl-2.0\\nname: GNU General Public License v2.0\\nspdx_id: GPL-2.0\\nurl: https://api.github.com/licenses/gpl-2.0\\nnode_id: MDc6TGljZW5zZTg=\\\"><span class=\\\"structural\\\">{ </span><span class=\\\"structural\\\">key: </span>gpl-2.0<span class=\\\"structural\\\">, </span><span class=\\\"structural\\\">name: </span>GNU Gene<span class=\\\"structural\\\">...</span><span class=\\\"structural\\\">, </span><span class=\\\"structural\\\">...</span><span class=\\\"structural\\\"> }</span></span>\",\"<span class=\\\"formatted\\\" title=\\\"\\\"><span class=\\\"null\\\">{ }</span></span>\"] }, \n",
       "], id: -1610612735, rootId: -1610612736, totalRows: 100 } ) });\n",
       "/*-->*/\n",
       "\n",
       "/*<!--*/\n",
       "call_DataFrame(function() { DataFrame.addTable({ cols: [{ name: \"<span title=\\\"login: String\\\">login</span>\", children: [], rightAlign: false, values: [\"1anisim\",\"AI-shm\",\"ALikhachev\",\"Alefas\",\"AlexPl292\"] }, \n",
       "{ name: \"<span title=\\\"id: String\\\">id</span>\", children: [], rightAlign: false, values: [\"70746131\",\"63251834\",\"1221596\",\"94064\",\"4203721\"] }, \n",
       "{ name: \"<span title=\\\"node_id: String\\\">node_id</span>\", children: [], rightAlign: false, values: [\"MDQ6VXNlcjcwNzQ2MTMx\",\"MDQ6VXNlcjYzMjUxODM0\",\"MDQ6VXNlcjEyMjE1OTY=\",\"MDQ6VXNlcjk0MDY0\",\"MDQ6VXNlcjQyMDM3MjE=\"] }, \n",
       "{ name: \"<span title=\\\"gravatar_id: String\\\">gravatar_id</span>\", children: [], rightAlign: false, values: [\"\",\"\",\"\",\"\",\"\"] }, \n",
       "{ name: \"<span title=\\\"url: String\\\">url</span>\", children: [], rightAlign: false, values: [\"https://api.github.com/users/1anisim\",\"https://api.github.com/users/AI-shm\",\"https://api.github.com/users/ALikhachev\",\"https://api.github.com/users/Alefas\",\"https://api.github.com/users/AlexPl292\"] }, \n",
       "{ name: \"<span title=\\\"type: String\\\">type</span>\", children: [], rightAlign: false, values: [\"User\",\"User\",\"User\",\"User\",\"User\"] }, \n",
       "{ name: \"<span title=\\\"site_admin: String\\\">site_admin</span>\", children: [], rightAlign: false, values: [\"false\",\"false\",\"false\",\"false\",\"false\"] }, \n",
       "], id: -1610612734, rootId: -1610612736, totalRows: 187 } ) });\n",
       "/*-->*/\n",
       "\n",
       "/*<!--*/\n",
       "call_DataFrame(function() { DataFrame.addTable({ cols: [{ name: \"<span title=\\\"login: String\\\">login</span>\", children: [], rightAlign: false, values: [\"chashnikov\",\"shafirov\",\"pavelsher\",\"yole\"] }, \n",
       "{ name: \"<span title=\\\"id: String\\\">id</span>\", children: [], rightAlign: false, values: [\"978014\",\"121982\",\"301744\",\"46553\"] }, \n",
       "{ name: \"<span title=\\\"node_id: String\\\">node_id</span>\", children: [], rightAlign: false, values: [\"MDQ6VXNlcjk3ODAxNA==\",\"MDQ6VXNlcjEyMTk4Mg==\",\"MDQ6VXNlcjMwMTc0NA==\",\"MDQ6VXNlcjQ2NTUz\"] }, \n",
       "{ name: \"<span title=\\\"gravatar_id: String\\\">gravatar_id</span>\", children: [], rightAlign: false, values: [\"\",\"\",\"\",\"\"] }, \n",
       "{ name: \"<span title=\\\"url: String\\\">url</span>\", children: [], rightAlign: false, values: [\"https://api.github.com/users/chashnikov\",\"https://api.github.com/users/shafirov\",\"https://api.github.com/users/pavelsher\",\"https://api.github.com/users/yole\"] }, \n",
       "{ name: \"<span title=\\\"type: String\\\">type</span>\", children: [], rightAlign: false, values: [\"User\",\"User\",\"User\",\"User\"] }, \n",
       "{ name: \"<span title=\\\"site_admin: String\\\">site_admin</span>\", children: [], rightAlign: false, values: [\"false\",\"false\",\"false\",\"false\"] }, \n",
       "{ name: \"<span title=\\\"contributions: String\\\">contributions</span>\", children: [], rightAlign: false, values: [\"145\",\"27\",\"6\",\"1\"] }, \n",
       "], id: -1610612733, rootId: -1610612736, totalRows: 4 } ) });\n",
       "/*-->*/\n",
       "\n",
       "/*<!--*/\n",
       "call_DataFrame(function() { DataFrame.addTable({ cols: [{ name: \"<span title=\\\"login: String\\\">login</span>\", children: [], rightAlign: false, values: [\"maartenba\",\"rekolobov\",\"hhariri\",\"tdietrich513\",\"Elwetana\"] }, \n",
       "{ name: \"<span title=\\\"id: String\\\">id</span>\", children: [], rightAlign: false, values: [\"485230\",\"2941429\",\"108107\",\"445632\",\"7472690\"] }, \n",
       "{ name: \"<span title=\\\"node_id: String\\\">node_id</span>\", children: [], rightAlign: false, values: [\"MDQ6VXNlcjQ4NTIzMA==\",\"MDQ6VXNlcjI5NDE0Mjk=\",\"MDQ6VXNlcjEwODEwNw==\",\"MDQ6VXNlcjQ0NTYzMg==\",\"MDQ6VXNlcjc0NzI2OTA=\"] }, \n",
       "{ name: \"<span title=\\\"gravatar_id: String\\\">gravatar_id</span>\", children: [], rightAlign: false, values: [\"\",\"\",\"\",\"\",\"\"] }, \n",
       "{ name: \"<span title=\\\"url: String\\\">url</span>\", children: [], rightAlign: false, values: [\"https://api.github.com/users/maartenba\",\"https://api.github.com/users/rekolobov\",\"https://api.github.com/users/hhariri\",\"<span class=\\\"formatted\\\" title=\\\"https://api.github.com/users/tdietrich513\\\">https://api.github.com/users/tdietric<span class=\\\"structural\\\">...</span></span>\",\"https://api.github.com/users/Elwetana\"] }, \n",
       "{ name: \"<span title=\\\"type: String\\\">type</span>\", children: [], rightAlign: false, values: [\"User\",\"User\",\"User\",\"User\",\"User\"] }, \n",
       "{ name: \"<span title=\\\"site_admin: String\\\">site_admin</span>\", children: [], rightAlign: false, values: [\"false\",\"false\",\"false\",\"false\",\"false\"] }, \n",
       "{ name: \"<span title=\\\"contributions: String\\\">contributions</span>\", children: [], rightAlign: false, values: [\"215\",\"115\",\"94\",\"5\",\"4\"] }, \n",
       "], id: -1610612732, rootId: -1610612736, totalRows: 20 } ) });\n",
       "/*-->*/\n",
       "\n",
       "/*<!--*/\n",
       "call_DataFrame(function() { DataFrame.addTable({ cols: [{ name: \"<span title=\\\"login: String\\\">login</span>\", children: [], rightAlign: false, values: [\"denofevil\",\"iromeo\",\"rvishnyakov\",\"yole\",\"zolotov\"] }, \n",
       "{ name: \"<span title=\\\"id: String\\\">id</span>\", children: [], rightAlign: false, values: [\"32124\",\"72933\",\"54810571\",\"46553\",\"140920\"] }, \n",
       "{ name: \"<span title=\\\"node_id: String\\\">node_id</span>\", children: [], rightAlign: false, values: [\"MDQ6VXNlcjMyMTI0\",\"MDQ6VXNlcjcyOTMz\",\"MDQ6VXNlcjU0ODEwNTcx\",\"MDQ6VXNlcjQ2NTUz\",\"MDQ6VXNlcjE0MDkyMA==\"] }, \n",
       "{ name: \"<span title=\\\"gravatar_id: String\\\">gravatar_id</span>\", children: [], rightAlign: false, values: [\"\",\"\",\"\",\"\",\"\"] }, \n",
       "{ name: \"<span title=\\\"url: String\\\">url</span>\", children: [], rightAlign: false, values: [\"https://api.github.com/users/denofevil\",\"https://api.github.com/users/iromeo\",\"https://api.github.com/users/rvishnyakov\",\"https://api.github.com/users/yole\",\"https://api.github.com/users/zolotov\"] }, \n",
       "{ name: \"<span title=\\\"type: String\\\">type</span>\", children: [], rightAlign: false, values: [\"User\",\"User\",\"User\",\"User\",\"User\"] }, \n",
       "{ name: \"<span title=\\\"site_admin: String\\\">site_admin</span>\", children: [], rightAlign: false, values: [\"false\",\"false\",\"false\",\"false\",\"false\"] }, \n",
       "{ name: \"<span title=\\\"contributions: String\\\">contributions</span>\", children: [], rightAlign: false, values: [\"49\",\"26\",\"15\",\"12\",\"7\"] }, \n",
       "], id: -1610612731, rootId: -1610612736, totalRows: 10 } ) });\n",
       "/*-->*/\n",
       "\n",
       "/*<!--*/\n",
       "call_DataFrame(function() { DataFrame.addTable({ cols: [{ name: \"<span title=\\\"login: String\\\">login</span>\", children: [], rightAlign: false, values: [\"AlexPl292\",\"vlasovskikh\",\"citizenmatt\",\"lippfi\",\"karavaevitalii\"] }, \n",
       "{ name: \"<span title=\\\"id: String\\\">id</span>\", children: [], rightAlign: false, values: [\"4203721\",\"126891\",\"222659\",\"81118900\",\"17340655\"] }, \n",
       "{ name: \"<span title=\\\"node_id: String\\\">node_id</span>\", children: [], rightAlign: false, values: [\"MDQ6VXNlcjQyMDM3MjE=\",\"MDQ6VXNlcjEyNjg5MQ==\",\"MDQ6VXNlcjIyMjY1OQ==\",\"MDQ6VXNlcjgxMTE4OTAw\",\"MDQ6VXNlcjE3MzQwNjU1\"] }, \n",
       "{ name: \"<span title=\\\"gravatar_id: String\\\">gravatar_id</span>\", children: [], rightAlign: false, values: [\"\",\"\",\"\",\"\",\"\"] }, \n",
       "{ name: \"<span title=\\\"url: String\\\">url</span>\", children: [], rightAlign: false, values: [\"https://api.github.com/users/AlexPl292\",\"https://api.github.com/users/vlasovskikh\",\"https://api.github.com/users/citizenmatt\",\"https://api.github.com/users/lippfi\",\"<span class=\\\"formatted\\\" title=\\\"https://api.github.com/users/karavaevitalii\\\">https://api.github.com/users/karavaev<span class=\\\"structural\\\">...</span></span>\"] }, \n",
       "{ name: \"<span title=\\\"type: String\\\">type</span>\", children: [], rightAlign: false, values: [\"User\",\"User\",\"User\",\"User\",\"User\"] }, \n",
       "{ name: \"<span title=\\\"site_admin: String\\\">site_admin</span>\", children: [], rightAlign: false, values: [\"false\",\"false\",\"false\",\"false\",\"false\"] }, \n",
       "{ name: \"<span title=\\\"contributions: String\\\">contributions</span>\", children: [], rightAlign: false, values: [\"2195\",\"861\",\"251\",\"224\",\"193\"] }, \n",
       "], id: -1610612730, rootId: -1610612736, totalRows: 87 } ) });\n",
       "/*-->*/\n",
       "\n",
       "/*<!--*/\n",
       "call_DataFrame(function() { DataFrame.addTable({ cols: [{ name: \"<span title=\\\"login: String\\\">login</span>\", children: [], rightAlign: false, values: [\"anna239\"] }, \n",
       "{ name: \"<span title=\\\"id: String\\\">id</span>\", children: [], rightAlign: false, values: [\"661533\"] }, \n",
       "{ name: \"<span title=\\\"node_id: String\\\">node_id</span>\", children: [], rightAlign: false, values: [\"MDQ6VXNlcjY2MTUzMw==\"] }, \n",
       "{ name: \"<span title=\\\"gravatar_id: String\\\">gravatar_id</span>\", children: [], rightAlign: false, values: [\"\"] }, \n",
       "{ name: \"<span title=\\\"url: String\\\">url</span>\", children: [], rightAlign: false, values: [\"https://api.github.com/users/anna239\"] }, \n",
       "{ name: \"<span title=\\\"type: String\\\">type</span>\", children: [], rightAlign: false, values: [\"User\"] }, \n",
       "{ name: \"<span title=\\\"site_admin: String\\\">site_admin</span>\", children: [], rightAlign: false, values: [\"false\"] }, \n",
       "{ name: \"<span title=\\\"contributions: String\\\">contributions</span>\", children: [], rightAlign: false, values: [\"2\"] }, \n",
       "], id: -1610612729, rootId: -1610612736, totalRows: 1 } ) });\n",
       "/*-->*/\n",
       "\n",
       "call_DataFrame(function() { DataFrame.renderTable(-1610612736) });\n",
       "\n",
       "\n",
       "        </script>\n",
       "        </html>"
      ]
     },
     "execution_count": 2,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "val organizationsRaw = DataFrame.read(\"https://raw.githubusercontent.com/Kotlin/dataframe/master/data/jetbrains.json\")\n",
    "organizationsRaw"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 3,
   "metadata": {
    "pycharm": {
     "name": "#%%\n"
    }
   },
   "outputs": [
    {
     "data": {
      "text/plain": "url: String\nname: String\nrepos: *\n    id: String\n    node_id: String\n    name: String\n    full_name: String\n    private: String\n    html_url: String\n    description: String?\n    fork: String\n    url: String\n    created_at: String\n    updated_at: String\n    pushed_at: String\n    homepage: String?\n    size: String\n    stargazers_count: String\n    watchers_count: String\n    language: String?\n    has_issues: String\n    has_projects: String\n    has_downloads: String\n    has_wiki: String\n    has_pages: String\n    forks_count: String\n    archived: String\n    disabled: String\n    open_issues_count: String\n    allow_forking: String\n    is_template: String\n    topics: String\n    visibility: String\n    forks: String\n    open_issues: String\n    watchers: String\n    default_branch: String\n    permissions:\n        admin: String\n        maintain: String\n        push: String\n        triage: String\n        pull: String\n    contributors: *\n        login: String\n        id: String\n        node_id: String\n        gravatar_id: String\n        url: String\n        type: String\n        site_admin: String\n        contributions: String\n    license:\n        key: String?\n        name: String?\n        spdx_id: String?\n        url: String?\n        node_id: String?\nmembers: *\n    login: String\n    id: String\n    node_id: String\n    gravatar_id: String\n    url: String\n    type: String\n    site_admin: String\n"
     },
     "execution_count": 3,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "organizationsRaw.schema()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {
    "pycharm": {
     "name": "#%%\n",
     "is_executing": true
    }
   },
   "outputs": [],
   "source": [
    "val organizations = organizationsRaw.parse()\n",
    "organizations"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 5,
   "metadata": {
    "pycharm": {
     "name": "#%%\n"
    }
   },
   "outputs": [
    {
     "data": {
      "text/plain": [
       "url: URL\n",
       "name: String\n",
       "repos: *\n",
       "    id: Int\n",
       "    node_id: String\n",
       "    name: String\n",
       "    full_name: String\n",
       "    private: Boolean\n",
       "    html_url: URL\n",
       "    description: String?\n",
       "    fork: Boolean\n",
       "    url: URL\n",
       "    created_at: String\n",
       "    updated_at: String\n",
       "    pushed_at: String\n",
       "    homepage: String?\n",
       "    size: Int\n",
       "    stargazers_count: Int\n",
       "    watchers_count: Int\n",
       "    language: String?\n",
       "    has_issues: Boolean\n",
       "    has_projects: Boolean\n",
       "    has_downloads: Boolean\n",
       "    has_wiki: Boolean\n",
       "    has_pages: Boolean\n",
       "    forks_count: Int\n",
       "    archived: Boolean\n",
       "    disabled: Boolean\n",
       "    open_issues_count: Int\n",
       "    allow_forking: Boolean\n",
       "    is_template: Boolean\n",
       "    topics: String\n",
       "    visibility: String\n",
       "    forks: Int\n",
       "    open_issues: Int\n",
       "    watchers: Int\n",
       "    default_branch: String\n",
       "    permissions:\n",
       "        admin: Boolean\n",
       "        maintain: Boolean\n",
       "        push: Boolean\n",
       "        triage: Boolean\n",
       "        pull: Boolean\n",
       "    contributors: *\n",
       "        login: String\n",
       "        id: Int\n",
       "        node_id: String\n",
       "        gravatar_id: String\n",
       "        url: URL\n",
       "        type: String\n",
       "        site_admin: Boolean\n",
       "        contributions: Int\n",
       "    license:\n",
       "        key: String?\n",
       "        name: String?\n",
       "        spdx_id: String?\n",
       "        url: URL?\n",
       "        node_id: String?\n",
       "members: *\n",
       "    login: String\n",
       "    id: Int\n",
       "    node_id: String\n",
       "    gravatar_id: String\n",
       "    url: URL\n",
       "    type: String\n",
       "    site_admin: Boolean\n"
      ]
     },
     "execution_count": 5,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "organizations.schema()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "pycharm": {
     "name": "#%% md\n"
    }
   },
   "source": [
    "This data is indeed hierarchical. organizations is itself a dataframe. It has a child column `repos`, a dataframe with lots of data."
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "pycharm": {
     "name": "#%% md\n"
    }
   },
   "source": [
    "1. **How many contributors there are?**"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "pycharm": {
     "name": "#%% md\n"
    }
   },
   "source": [
    "The easiest way to work with hierarchical data is to pick only required data from it. It is nice to have a huge dataframe with all relations between data, but carrying it around involves extra complexity. So let's start by getting contributors from inside of the data structure."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 6,
   "metadata": {
    "pycharm": {
     "name": "#%%\n"
    }
   },
   "outputs": [],
   "source": [
    "val jb = organizations[0]"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 7,
   "metadata": {
    "pycharm": {
     "name": "#%%\n"
    }
   },
   "outputs": [],
   "source": [
    "val jbRepos = jb.repos"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 8,
   "metadata": {
    "pycharm": {
     "name": "#%%\n"
    }
   },
   "outputs": [
    {
     "data": {
      "text/html": [
       "        <html>\n",
       "        <head>\n",
       "            <style type=\"text/css\">\n",
       "                \n",
       "\n",
       "            </style>\n",
       "        </head>\n",
       "        <body>\n",
       "            <table class=\"dataframe\" id=\"df_-654311408\"/>\n",
       "\n",
       "<p>... showing only top 20 of 100 rows</p><p>DataColumn [100]</p>\n",
       "        </body>\n",
       "        <script>\n",
       "            /*<!--*/\n",
       "call_DataFrame(function() { DataFrame.addTable({ cols: [{ name: \"<span title=\\\"contributors: DataFrame\\\">contributors</span>\", children: [], rightAlign: false, values: [{ frameId: -654311407, value: \"<b>DataFrame 4 x 8</b>\" },{ frameId: -654311406, value: \"<b>DataFrame 20 x 8</b>\" },{ frameId: -654311405, value: \"<b>DataFrame 10 x 8</b>\" },{ frameId: -654311404, value: \"<b>DataFrame 87 x 8</b>\" },{ frameId: -654311403, value: \"<b>DataFrame 1 x 8</b>\" },{ frameId: -654311402, value: \"<b>DataFrame 1 x 8</b>\" },{ frameId: -654311401, value: \"<b>DataFrame 3 x 8</b>\" },{ frameId: -654311400, value: \"<b>DataFrame 1 x 8</b>\" },{ frameId: -654311399, value: \"<b>DataFrame 21 x 8</b>\" },{ frameId: -654311398, value: \"<b>DataFrame 12 x 8</b>\" },{ frameId: -654311397, value: \"<b>DataFrame 1 x 8</b>\" },{ frameId: -654311396, value: \"<b>DataFrame 27 x 8</b>\" },{ frameId: -654311395, value: \"<b>DataFrame 43 x 8</b>\" },{ frameId: -654311394, value: \"<b>DataFrame 100 x 8</b>\" },{ frameId: -654311393, value: \"<b>DataFrame 10 x 8</b>\" },{ frameId: -654311392, value: \"<b>DataFrame 26 x 8</b>\" },{ frameId: -654311391, value: \"<b>DataFrame 100 x 8</b>\" },{ frameId: -654311390, value: \"<b>DataFrame 28 x 8</b>\" },{ frameId: -654311389, value: \"<b>DataFrame 8 x 8</b>\" },{ frameId: -654311388, value: \"<b>DataFrame 100 x 8</b>\" }] }, \n",
       "], id: -654311408, rootId: -654311408 } ) });\n",
       "/*-->*/\n",
       "\n",
       "/*<!--*/\n",
       "call_DataFrame(function() { DataFrame.addTable({ cols: [{ name: \"<span title=\\\"login: String\\\">login</span>\", children: [], rightAlign: false, values: [\"chashnikov\",\"shafirov\",\"pavelsher\",\"yole\"] }, \n",
       "{ name: \"<span title=\\\"id: Int\\\">id</span>\", children: [], rightAlign: true, values: [\"<span class=\\\"formatted\\\" title=\\\"\\\"><span class=\\\"numbers\\\">978014</span></span>\",\"<span class=\\\"formatted\\\" title=\\\"\\\"><span class=\\\"numbers\\\">121982</span></span>\",\"<span class=\\\"formatted\\\" title=\\\"\\\"><span class=\\\"numbers\\\">301744</span></span>\",\"<span class=\\\"formatted\\\" title=\\\"\\\"><span class=\\\"numbers\\\">46553</span></span>\"] }, \n",
       "{ name: \"<span title=\\\"node_id: String\\\">node_id</span>\", children: [], rightAlign: false, values: [\"MDQ6VXNlcjk3ODAxNA==\",\"MDQ6VXNlcjEyMTk4Mg==\",\"MDQ6VXNlcjMwMTc0NA==\",\"MDQ6VXNlcjQ2NTUz\"] }, \n",
       "{ name: \"<span title=\\\"gravatar_id: String\\\">gravatar_id</span>\", children: [], rightAlign: false, values: [\"\",\"\",\"\",\"\"] }, \n",
       "{ name: \"<span title=\\\"url: URL\\\">url</span>\", children: [], rightAlign: false, values: [\"<a href='https://api.github.com/users/chashnikov' target='_blank'>https://api.github.com/users/chashnikov</a>\",\"<a href='https://api.github.com/users/shafirov' target='_blank'>https://api.github.com/users/shafirov</a>\",\"<a href='https://api.github.com/users/pavelsher' target='_blank'>https://api.github.com/users/pavelsher</a>\",\"<a href='https://api.github.com/users/yole' target='_blank'>https://api.github.com/users/yole</a>\"] }, \n",
       "{ name: \"<span title=\\\"type: String\\\">type</span>\", children: [], rightAlign: false, values: [\"User\",\"User\",\"User\",\"User\"] }, \n",
       "{ name: \"<span title=\\\"site_admin: Boolean\\\">site_admin</span>\", children: [], rightAlign: false, values: [\"false\",\"false\",\"false\",\"false\"] }, \n",
       "{ name: \"<span title=\\\"contributions: Int\\\">contributions</span>\", children: [], rightAlign: true, values: [\"<span class=\\\"formatted\\\" title=\\\"\\\"><span class=\\\"numbers\\\">145</span></span>\",\"<span class=\\\"formatted\\\" title=\\\"\\\"><span class=\\\"numbers\\\">27</span></span>\",\"<span class=\\\"formatted\\\" title=\\\"\\\"><span class=\\\"numbers\\\">6</span></span>\",\"<span class=\\\"formatted\\\" title=\\\"\\\"><span class=\\\"numbers\\\">1</span></span>\"] }, \n",
       "], id: -654311407, rootId: -654311408 } ) });\n",
       "/*-->*/\n",
       "\n",
       "/*<!--*/\n",
       "call_DataFrame(function() { DataFrame.addTable({ cols: [{ name: \"<span title=\\\"login: String\\\">login</span>\", children: [], rightAlign: false, values: [\"maartenba\",\"rekolobov\",\"hhariri\",\"tdietrich513\",\"Elwetana\"] }, \n",
       "{ name: \"<span title=\\\"id: Int\\\">id</span>\", children: [], rightAlign: true, values: [\"<span class=\\\"formatted\\\" title=\\\"\\\"><span class=\\\"numbers\\\">485230</span></span>\",\"<span class=\\\"formatted\\\" title=\\\"\\\"><span class=\\\"numbers\\\">2941429</span></span>\",\"<span class=\\\"formatted\\\" title=\\\"\\\"><span class=\\\"numbers\\\">108107</span></span>\",\"<span class=\\\"formatted\\\" title=\\\"\\\"><span class=\\\"numbers\\\">445632</span></span>\",\"<span class=\\\"formatted\\\" title=\\\"\\\"><span class=\\\"numbers\\\">7472690</span></span>\"] }, \n",
       "{ name: \"<span title=\\\"node_id: String\\\">node_id</span>\", children: [], rightAlign: false, values: [\"MDQ6VXNlcjQ4NTIzMA==\",\"MDQ6VXNlcjI5NDE0Mjk=\",\"MDQ6VXNlcjEwODEwNw==\",\"MDQ6VXNlcjQ0NTYzMg==\",\"MDQ6VXNlcjc0NzI2OTA=\"] }, \n",
       "{ name: \"<span title=\\\"gravatar_id: String\\\">gravatar_id</span>\", children: [], rightAlign: false, values: [\"\",\"\",\"\",\"\",\"\"] }, \n",
       "{ name: \"<span title=\\\"url: URL\\\">url</span>\", children: [], rightAlign: false, values: [\"<a href='https://api.github.com/users/maartenba' target='_blank'>https://api.github.com/users/maartenba</a>\",\"<a href='https://api.github.com/users/rekolobov' target='_blank'>https://api.github.com/users/rekolobov</a>\",\"<a href='https://api.github.com/users/hhariri' target='_blank'>https://api.github.com/users/hhariri</a>\",\"<span class=\\\"formatted\\\" title=\\\"https://api.github.com/users/tdietrich513\\\"><a href='https://api.github.com/users/tdietrich513' target='_blank'>https://api.github.com/users/tdietric<span class=\\\"structural\\\">...</span></a></span>\",\"<a href='https://api.github.com/users/Elwetana' target='_blank'>https://api.github.com/users/Elwetana</a>\"] }, \n",
       "{ name: \"<span title=\\\"type: String\\\">type</span>\", children: [], rightAlign: false, values: [\"User\",\"User\",\"User\",\"User\",\"User\"] }, \n",
       "{ name: \"<span title=\\\"site_admin: Boolean\\\">site_admin</span>\", children: [], rightAlign: false, values: [\"false\",\"false\",\"false\",\"false\",\"false\"] }, \n",
       "{ name: \"<span title=\\\"contributions: Int\\\">contributions</span>\", children: [], rightAlign: true, values: [\"<span class=\\\"formatted\\\" title=\\\"\\\"><span class=\\\"numbers\\\">215</span></span>\",\"<span class=\\\"formatted\\\" title=\\\"\\\"><span class=\\\"numbers\\\">115</span></span>\",\"<span class=\\\"formatted\\\" title=\\\"\\\"><span class=\\\"numbers\\\">94</span></span>\",\"<span class=\\\"formatted\\\" title=\\\"\\\"><span class=\\\"numbers\\\">5</span></span>\",\"<span class=\\\"formatted\\\" title=\\\"\\\"><span class=\\\"numbers\\\">4</span></span>\"] }, \n",
       "], id: -654311406, rootId: -654311408 } ) });\n",
       "/*-->*/\n",
       "\n",
       "/*<!--*/\n",
       "call_DataFrame(function() { DataFrame.addTable({ cols: [{ name: \"<span title=\\\"login: String\\\">login</span>\", children: [], rightAlign: false, values: [\"denofevil\",\"iromeo\",\"rvishnyakov\",\"yole\",\"zolotov\"] }, \n",
       "{ name: \"<span title=\\\"id: Int\\\">id</span>\", children: [], rightAlign: true, values: [\"<span class=\\\"formatted\\\" title=\\\"\\\"><span class=\\\"numbers\\\">32124</span></span>\",\"<span class=\\\"formatted\\\" title=\\\"\\\"><span class=\\\"numbers\\\">72933</span></span>\",\"<span class=\\\"formatted\\\" title=\\\"\\\"><span class=\\\"numbers\\\">54810571</span></span>\",\"<span class=\\\"formatted\\\" title=\\\"\\\"><span class=\\\"numbers\\\">46553</span></span>\",\"<span class=\\\"formatted\\\" title=\\\"\\\"><span class=\\\"numbers\\\">140920</span></span>\"] }, \n",
       "{ name: \"<span title=\\\"node_id: String\\\">node_id</span>\", children: [], rightAlign: false, values: [\"MDQ6VXNlcjMyMTI0\",\"MDQ6VXNlcjcyOTMz\",\"MDQ6VXNlcjU0ODEwNTcx\",\"MDQ6VXNlcjQ2NTUz\",\"MDQ6VXNlcjE0MDkyMA==\"] }, \n",
       "{ name: \"<span title=\\\"gravatar_id: String\\\">gravatar_id</span>\", children: [], rightAlign: false, values: [\"\",\"\",\"\",\"\",\"\"] }, \n",
       "{ name: \"<span title=\\\"url: URL\\\">url</span>\", children: [], rightAlign: false, values: [\"<a href='https://api.github.com/users/denofevil' target='_blank'>https://api.github.com/users/denofevil</a>\",\"<a href='https://api.github.com/users/iromeo' target='_blank'>https://api.github.com/users/iromeo</a>\",\"<a href='https://api.github.com/users/rvishnyakov' target='_blank'>https://api.github.com/users/rvishnyakov</a>\",\"<a href='https://api.github.com/users/yole' target='_blank'>https://api.github.com/users/yole</a>\",\"<a href='https://api.github.com/users/zolotov' target='_blank'>https://api.github.com/users/zolotov</a>\"] }, \n",
       "{ name: \"<span title=\\\"type: String\\\">type</span>\", children: [], rightAlign: false, values: [\"User\",\"User\",\"User\",\"User\",\"User\"] }, \n",
       "{ name: \"<span title=\\\"site_admin: Boolean\\\">site_admin</span>\", children: [], rightAlign: false, values: [\"false\",\"false\",\"false\",\"false\",\"false\"] }, \n",
       "{ name: \"<span title=\\\"contributions: Int\\\">contributions</span>\", children: [], rightAlign: true, values: [\"<span class=\\\"formatted\\\" title=\\\"\\\"><span class=\\\"numbers\\\">49</span></span>\",\"<span class=\\\"formatted\\\" title=\\\"\\\"><span class=\\\"numbers\\\">26</span></span>\",\"<span class=\\\"formatted\\\" title=\\\"\\\"><span class=\\\"numbers\\\">15</span></span>\",\"<span class=\\\"formatted\\\" title=\\\"\\\"><span class=\\\"numbers\\\">12</span></span>\",\"<span class=\\\"formatted\\\" title=\\\"\\\"><span class=\\\"numbers\\\">7</span></span>\"] }, \n",
       "], id: -654311405, rootId: -654311408 } ) });\n",
       "/*-->*/\n",
       "\n",
       "/*<!--*/\n",
       "call_DataFrame(function() { DataFrame.addTable({ cols: [{ name: \"<span title=\\\"login: String\\\">login</span>\", children: [], rightAlign: false, values: [\"AlexPl292\",\"vlasovskikh\",\"citizenmatt\",\"lippfi\",\"karavaevitalii\"] }, \n",
       "{ name: \"<span title=\\\"id: Int\\\">id</span>\", children: [], rightAlign: true, values: [\"<span class=\\\"formatted\\\" title=\\\"\\\"><span class=\\\"numbers\\\">4203721</span></span>\",\"<span class=\\\"formatted\\\" title=\\\"\\\"><span class=\\\"numbers\\\">126891</span></span>\",\"<span class=\\\"formatted\\\" title=\\\"\\\"><span class=\\\"numbers\\\">222659</span></span>\",\"<span class=\\\"formatted\\\" title=\\\"\\\"><span class=\\\"numbers\\\">81118900</span></span>\",\"<span class=\\\"formatted\\\" title=\\\"\\\"><span class=\\\"numbers\\\">17340655</span></span>\"] }, \n",
       "{ name: \"<span title=\\\"node_id: String\\\">node_id</span>\", children: [], rightAlign: false, values: [\"MDQ6VXNlcjQyMDM3MjE=\",\"MDQ6VXNlcjEyNjg5MQ==\",\"MDQ6VXNlcjIyMjY1OQ==\",\"MDQ6VXNlcjgxMTE4OTAw\",\"MDQ6VXNlcjE3MzQwNjU1\"] }, \n",
       "{ name: \"<span title=\\\"gravatar_id: String\\\">gravatar_id</span>\", children: [], rightAlign: false, values: [\"\",\"\",\"\",\"\",\"\"] }, \n",
       "{ name: \"<span title=\\\"url: URL\\\">url</span>\", children: [], rightAlign: false, values: [\"<a href='https://api.github.com/users/AlexPl292' target='_blank'>https://api.github.com/users/AlexPl292</a>\",\"<a href='https://api.github.com/users/vlasovskikh' target='_blank'>https://api.github.com/users/vlasovskikh</a>\",\"<a href='https://api.github.com/users/citizenmatt' target='_blank'>https://api.github.com/users/citizenmatt</a>\",\"<a href='https://api.github.com/users/lippfi' target='_blank'>https://api.github.com/users/lippfi</a>\",\"<span class=\\\"formatted\\\" title=\\\"https://api.github.com/users/karavaevitalii\\\"><a href='https://api.github.com/users/karavaevitalii' target='_blank'>https://api.github.com/users/karavaev<span class=\\\"structural\\\">...</span></a></span>\"] }, \n",
       "{ name: \"<span title=\\\"type: String\\\">type</span>\", children: [], rightAlign: false, values: [\"User\",\"User\",\"User\",\"User\",\"User\"] }, \n",
       "{ name: \"<span title=\\\"site_admin: Boolean\\\">site_admin</span>\", children: [], rightAlign: false, values: [\"false\",\"false\",\"false\",\"false\",\"false\"] }, \n",
       "{ name: \"<span title=\\\"contributions: Int\\\">contributions</span>\", children: [], rightAlign: true, values: [\"<span class=\\\"formatted\\\" title=\\\"\\\"><span class=\\\"numbers\\\">2195</span></span>\",\"<span class=\\\"formatted\\\" title=\\\"\\\"><span class=\\\"numbers\\\">861</span></span>\",\"<span class=\\\"formatted\\\" title=\\\"\\\"><span class=\\\"numbers\\\">251</span></span>\",\"<span class=\\\"formatted\\\" title=\\\"\\\"><span class=\\\"numbers\\\">224</span></span>\",\"<span class=\\\"formatted\\\" title=\\\"\\\"><span class=\\\"numbers\\\">193</span></span>\"] }, \n",
       "], id: -654311404, rootId: -654311408 } ) });\n",
       "/*-->*/\n",
       "\n",
       "/*<!--*/\n",
       "call_DataFrame(function() { DataFrame.addTable({ cols: [{ name: \"<span title=\\\"login: String\\\">login</span>\", children: [], rightAlign: false, values: [\"anna239\"] }, \n",
       "{ name: \"<span title=\\\"id: Int\\\">id</span>\", children: [], rightAlign: true, values: [\"<span class=\\\"formatted\\\" title=\\\"\\\"><span class=\\\"numbers\\\">661533</span></span>\"] }, \n",
       "{ name: \"<span title=\\\"node_id: String\\\">node_id</span>\", children: [], rightAlign: false, values: [\"MDQ6VXNlcjY2MTUzMw==\"] }, \n",
       "{ name: \"<span title=\\\"gravatar_id: String\\\">gravatar_id</span>\", children: [], rightAlign: false, values: [\"\"] }, \n",
       "{ name: \"<span title=\\\"url: URL\\\">url</span>\", children: [], rightAlign: false, values: [\"<a href='https://api.github.com/users/anna239' target='_blank'>https://api.github.com/users/anna239</a>\"] }, \n",
       "{ name: \"<span title=\\\"type: String\\\">type</span>\", children: [], rightAlign: false, values: [\"User\"] }, \n",
       "{ name: \"<span title=\\\"site_admin: Boolean\\\">site_admin</span>\", children: [], rightAlign: false, values: [\"false\"] }, \n",
       "{ name: \"<span title=\\\"contributions: Int\\\">contributions</span>\", children: [], rightAlign: true, values: [\"<span class=\\\"formatted\\\" title=\\\"\\\"><span class=\\\"numbers\\\">2</span></span>\"] }, \n",
       "], id: -654311403, rootId: -654311408 } ) });\n",
       "/*-->*/\n",
       "\n",
       "/*<!--*/\n",
       "call_DataFrame(function() { DataFrame.addTable({ cols: [{ name: \"<span title=\\\"login: String\\\">login</span>\", children: [], rightAlign: false, values: [\"anna239\"] }, \n",
       "{ name: \"<span title=\\\"id: Int\\\">id</span>\", children: [], rightAlign: true, values: [\"<span class=\\\"formatted\\\" title=\\\"\\\"><span class=\\\"numbers\\\">661533</span></span>\"] }, \n",
       "{ name: \"<span title=\\\"node_id: String\\\">node_id</span>\", children: [], rightAlign: false, values: [\"MDQ6VXNlcjY2MTUzMw==\"] }, \n",
       "{ name: \"<span title=\\\"gravatar_id: String\\\">gravatar_id</span>\", children: [], rightAlign: false, values: [\"\"] }, \n",
       "{ name: \"<span title=\\\"url: URL\\\">url</span>\", children: [], rightAlign: false, values: [\"<a href='https://api.github.com/users/anna239' target='_blank'>https://api.github.com/users/anna239</a>\"] }, \n",
       "{ name: \"<span title=\\\"type: String\\\">type</span>\", children: [], rightAlign: false, values: [\"User\"] }, \n",
       "{ name: \"<span title=\\\"site_admin: Boolean\\\">site_admin</span>\", children: [], rightAlign: false, values: [\"false\"] }, \n",
       "{ name: \"<span title=\\\"contributions: Int\\\">contributions</span>\", children: [], rightAlign: true, values: [\"<span class=\\\"formatted\\\" title=\\\"\\\"><span class=\\\"numbers\\\">3</span></span>\"] }, \n",
       "], id: -654311402, rootId: -654311408 } ) });\n",
       "/*-->*/\n",
       "\n",
       "/*<!--*/\n",
       "call_DataFrame(function() { DataFrame.addTable({ cols: [{ name: \"<span title=\\\"login: String\\\">login</span>\", children: [], rightAlign: false, values: [\"katepol\",\"nd\",\"yole\"] }, \n",
       "{ name: \"<span title=\\\"id: Int\\\">id</span>\", children: [], rightAlign: true, values: [\"<span class=\\\"formatted\\\" title=\\\"\\\"><span class=\\\"numbers\\\">484436</span></span>\",\"<span class=\\\"formatted\\\" title=\\\"\\\"><span class=\\\"numbers\\\">38202</span></span>\",\"<span class=\\\"formatted\\\" title=\\\"\\\"><span class=\\\"numbers\\\">46553</span></span>\"] }, \n",
       "{ name: \"<span title=\\\"node_id: String\\\">node_id</span>\", children: [], rightAlign: false, values: [\"MDQ6VXNlcjQ4NDQzNg==\",\"MDQ6VXNlcjM4MjAy\",\"MDQ6VXNlcjQ2NTUz\"] }, \n",
       "{ name: \"<span title=\\\"gravatar_id: String\\\">gravatar_id</span>\", children: [], rightAlign: false, values: [\"\",\"\",\"\"] }, \n",
       "{ name: \"<span title=\\\"url: URL\\\">url</span>\", children: [], rightAlign: false, values: [\"<a href='https://api.github.com/users/katepol' target='_blank'>https://api.github.com/users/katepol</a>\",\"<a href='https://api.github.com/users/nd' target='_blank'>https://api.github.com/users/nd</a>\",\"<a href='https://api.github.com/users/yole' target='_blank'>https://api.github.com/users/yole</a>\"] }, \n",
       "{ name: \"<span title=\\\"type: String\\\">type</span>\", children: [], rightAlign: false, values: [\"User\",\"User\",\"User\"] }, \n",
       "{ name: \"<span title=\\\"site_admin: Boolean\\\">site_admin</span>\", children: [], rightAlign: false, values: [\"false\",\"false\",\"false\"] }, \n",
       "{ name: \"<span title=\\\"contributions: Int\\\">contributions</span>\", children: [], rightAlign: true, values: [\"<span class=\\\"formatted\\\" title=\\\"\\\"><span class=\\\"numbers\\\">200</span></span>\",\"<span class=\\\"formatted\\\" title=\\\"\\\"><span class=\\\"numbers\\\">4</span></span>\",\"<span class=\\\"formatted\\\" title=\\\"\\\"><span class=\\\"numbers\\\">3</span></span>\"] }, \n",
       "], id: -654311401, rootId: -654311408 } ) });\n",
       "/*-->*/\n",
       "\n",
       "/*<!--*/\n",
       "call_DataFrame(function() { DataFrame.addTable({ cols: [{ name: \"<span title=\\\"login: String\\\">login</span>\", children: [], rightAlign: false, values: [\"fearfall\"] }, \n",
       "{ name: \"<span title=\\\"id: Int\\\">id</span>\", children: [], rightAlign: true, values: [\"<span class=\\\"formatted\\\" title=\\\"\\\"><span class=\\\"numbers\\\">624708</span></span>\"] }, \n",
       "{ name: \"<span title=\\\"node_id: String\\\">node_id</span>\", children: [], rightAlign: false, values: [\"MDQ6VXNlcjYyNDcwOA==\"] }, \n",
       "{ name: \"<span title=\\\"gravatar_id: String\\\">gravatar_id</span>\", children: [], rightAlign: false, values: [\"\"] }, \n",
       "{ name: \"<span title=\\\"url: URL\\\">url</span>\", children: [], rightAlign: false, values: [\"<a href='https://api.github.com/users/fearfall' target='_blank'>https://api.github.com/users/fearfall</a>\"] }, \n",
       "{ name: \"<span title=\\\"type: String\\\">type</span>\", children: [], rightAlign: false, values: [\"User\"] }, \n",
       "{ name: \"<span title=\\\"site_admin: Boolean\\\">site_admin</span>\", children: [], rightAlign: false, values: [\"false\"] }, \n",
       "{ name: \"<span title=\\\"contributions: Int\\\">contributions</span>\", children: [], rightAlign: true, values: [\"<span class=\\\"formatted\\\" title=\\\"\\\"><span class=\\\"numbers\\\">38</span></span>\"] }, \n",
       "], id: -654311400, rootId: -654311408 } ) });\n",
       "/*-->*/\n",
       "\n",
       "/*<!--*/\n",
       "call_DataFrame(function() { DataFrame.addTable({ cols: [{ name: \"<span title=\\\"login: String\\\">login</span>\", children: [], rightAlign: false, values: [\"jonnyzzz\",\"dtretyakov\",\"NikolayPianikov\",\"IlyaFomenko\",\"pavelsher\"] }, \n",
       "{ name: \"<span title=\\\"id: Int\\\">id</span>\", children: [], rightAlign: true, values: [\"<span class=\\\"formatted\\\" title=\\\"\\\"><span class=\\\"numbers\\\">256431</span></span>\",\"<span class=\\\"formatted\\\" title=\\\"\\\"><span class=\\\"numbers\\\">1025927</span></span>\",\"<span class=\\\"formatted\\\" title=\\\"\\\"><span class=\\\"numbers\\\">11720017</span></span>\",\"<span class=\\\"formatted\\\" title=\\\"\\\"><span class=\\\"numbers\\\">52043002</span></span>\",\"<span class=\\\"formatted\\\" title=\\\"\\\"><span class=\\\"numbers\\\">301744</span></span>\"] }, \n",
       "{ name: \"<span title=\\\"node_id: String\\\">node_id</span>\", children: [], rightAlign: false, values: [\"MDQ6VXNlcjI1NjQzMQ==\",\"MDQ6VXNlcjEwMjU5Mjc=\",\"MDQ6VXNlcjExNzIwMDE3\",\"MDQ6VXNlcjUyMDQzMDAy\",\"MDQ6VXNlcjMwMTc0NA==\"] }, \n",
       "{ name: \"<span title=\\\"gravatar_id: String\\\">gravatar_id</span>\", children: [], rightAlign: false, values: [\"\",\"\",\"\",\"\",\"\"] }, \n",
       "{ name: \"<span title=\\\"url: URL\\\">url</span>\", children: [], rightAlign: false, values: [\"<a href='https://api.github.com/users/jonnyzzz' target='_blank'>https://api.github.com/users/jonnyzzz</a>\",\"<a href='https://api.github.com/users/dtretyakov' target='_blank'>https://api.github.com/users/dtretyakov</a>\",\"<span class=\\\"formatted\\\" title=\\\"https://api.github.com/users/NikolayPianikov\\\"><a href='https://api.github.com/users/NikolayPianikov' target='_blank'>https://api.github.com/users/NikolayP<span class=\\\"structural\\\">...</span></a></span>\",\"<a href='https://api.github.com/users/IlyaFomenko' target='_blank'>https://api.github.com/users/IlyaFomenko</a>\",\"<a href='https://api.github.com/users/pavelsher' target='_blank'>https://api.github.com/users/pavelsher</a>\"] }, \n",
       "{ name: \"<span title=\\\"type: String\\\">type</span>\", children: [], rightAlign: false, values: [\"User\",\"User\",\"User\",\"User\",\"User\"] }, \n",
       "{ name: \"<span title=\\\"site_admin: Boolean\\\">site_admin</span>\", children: [], rightAlign: false, values: [\"false\",\"false\",\"false\",\"false\",\"false\"] }, \n",
       "{ name: \"<span title=\\\"contributions: Int\\\">contributions</span>\", children: [], rightAlign: true, values: [\"<span class=\\\"formatted\\\" title=\\\"\\\"><span class=\\\"numbers\\\">1524</span></span>\",\"<span class=\\\"formatted\\\" title=\\\"\\\"><span class=\\\"numbers\\\">345</span></span>\",\"<span class=\\\"formatted\\\" title=\\\"\\\"><span class=\\\"numbers\\\">94</span></span>\",\"<span class=\\\"formatted\\\" title=\\\"\\\"><span class=\\\"numbers\\\">69</span></span>\",\"<span class=\\\"formatted\\\" title=\\\"\\\"><span class=\\\"numbers\\\">17</span></span>\"] }, \n",
       "], id: -654311399, rootId: -654311408 } ) });\n",
       "/*-->*/\n",
       "\n",
       "/*<!--*/\n",
       "call_DataFrame(function() { DataFrame.addTable({ cols: [{ name: \"<span title=\\\"login: String\\\">login</span>\", children: [], rightAlign: false, values: [\"gregsh\",\"dovchinnikov\",\"ignatov\",\"zolotov\",\"maxmedvedev\"] }, \n",
       "{ name: \"<span title=\\\"id: Int\\\">id</span>\", children: [], rightAlign: true, values: [\"<span class=\\\"formatted\\\" title=\\\"\\\"><span class=\\\"numbers\\\">958865</span></span>\",\"<span class=\\\"formatted\\\" title=\\\"\\\"><span class=\\\"numbers\\\">5519549</span></span>\",\"<span class=\\\"formatted\\\" title=\\\"\\\"><span class=\\\"numbers\\\">426890</span></span>\",\"<span class=\\\"formatted\\\" title=\\\"\\\"><span class=\\\"numbers\\\">140920</span></span>\",\"<span class=\\\"formatted\\\" title=\\\"\\\"><span class=\\\"numbers\\\">526998</span></span>\"] }, \n",
       "{ name: \"<span title=\\\"node_id: String\\\">node_id</span>\", children: [], rightAlign: false, values: [\"MDQ6VXNlcjk1ODg2NQ==\",\"MDQ6VXNlcjU1MTk1NDk=\",\"MDQ6VXNlcjQyNjg5MA==\",\"MDQ6VXNlcjE0MDkyMA==\",\"MDQ6VXNlcjUyNjk5OA==\"] }, \n",
       "{ name: \"<span title=\\\"gravatar_id: String\\\">gravatar_id</span>\", children: [], rightAlign: false, values: [\"\",\"\",\"\",\"\",\"\"] }, \n",
       "{ name: \"<span title=\\\"url: URL\\\">url</span>\", children: [], rightAlign: false, values: [\"<a href='https://api.github.com/users/gregsh' target='_blank'>https://api.github.com/users/gregsh</a>\",\"<span class=\\\"formatted\\\" title=\\\"https://api.github.com/users/dovchinnikov\\\"><a href='https://api.github.com/users/dovchinnikov' target='_blank'>https://api.github.com/users/dovchinn<span class=\\\"structural\\\">...</span></a></span>\",\"<a href='https://api.github.com/users/ignatov' target='_blank'>https://api.github.com/users/ignatov</a>\",\"<a href='https://api.github.com/users/zolotov' target='_blank'>https://api.github.com/users/zolotov</a>\",\"<a href='https://api.github.com/users/maxmedvedev' target='_blank'>https://api.github.com/users/maxmedvedev</a>\"] }, \n",
       "{ name: \"<span title=\\\"type: String\\\">type</span>\", children: [], rightAlign: false, values: [\"User\",\"User\",\"User\",\"User\",\"User\"] }, \n",
       "{ name: \"<span title=\\\"site_admin: Boolean\\\">site_admin</span>\", children: [], rightAlign: false, values: [\"false\",\"false\",\"false\",\"false\",\"false\"] }, \n",
       "{ name: \"<span title=\\\"contributions: Int\\\">contributions</span>\", children: [], rightAlign: true, values: [\"<span class=\\\"formatted\\\" title=\\\"\\\"><span class=\\\"numbers\\\">1084</span></span>\",\"<span class=\\\"formatted\\\" title=\\\"\\\"><span class=\\\"numbers\\\">19</span></span>\",\"<span class=\\\"formatted\\\" title=\\\"\\\"><span class=\\\"numbers\\\">8</span></span>\",\"<span class=\\\"formatted\\\" title=\\\"\\\"><span class=\\\"numbers\\\">7</span></span>\",\"<span class=\\\"formatted\\\" title=\\\"\\\"><span class=\\\"numbers\\\">4</span></span>\"] }, \n",
       "], id: -654311398, rootId: -654311408 } ) });\n",
       "/*-->*/\n",
       "\n",
       "/*<!--*/\n",
       "call_DataFrame(function() { DataFrame.addTable({ cols: [{ name: \"<span title=\\\"login: String\\\">login</span>\", children: [], rightAlign: false, values: [\"yole\"] }, \n",
       "{ name: \"<span title=\\\"id: Int\\\">id</span>\", children: [], rightAlign: true, values: [\"<span class=\\\"formatted\\\" title=\\\"\\\"><span class=\\\"numbers\\\">46553</span></span>\"] }, \n",
       "{ name: \"<span title=\\\"node_id: String\\\">node_id</span>\", children: [], rightAlign: false, values: [\"MDQ6VXNlcjQ2NTUz\"] }, \n",
       "{ name: \"<span title=\\\"gravatar_id: String\\\">gravatar_id</span>\", children: [], rightAlign: false, values: [\"\"] }, \n",
       "{ name: \"<span title=\\\"url: URL\\\">url</span>\", children: [], rightAlign: false, values: [\"<a href='https://api.github.com/users/yole' target='_blank'>https://api.github.com/users/yole</a>\"] }, \n",
       "{ name: \"<span title=\\\"type: String\\\">type</span>\", children: [], rightAlign: false, values: [\"User\"] }, \n",
       "{ name: \"<span title=\\\"site_admin: Boolean\\\">site_admin</span>\", children: [], rightAlign: false, values: [\"false\"] }, \n",
       "{ name: \"<span title=\\\"contributions: Int\\\">contributions</span>\", children: [], rightAlign: true, values: [\"<span class=\\\"formatted\\\" title=\\\"\\\"><span class=\\\"numbers\\\">1</span></span>\"] }, \n",
       "], id: -654311397, rootId: -654311408 } ) });\n",
       "/*-->*/\n",
       "\n",
       "/*<!--*/\n",
       "call_DataFrame(function() { DataFrame.addTable({ cols: [{ name: \"<span title=\\\"login: String\\\">login</span>\", children: [], rightAlign: false, values: [\"ilyasergey\",\"Alefas\",\"donnerpeter\",\"OsipovStas\",\"ianp\"] }, \n",
       "{ name: \"<span title=\\\"id: Int\\\">id</span>\", children: [], rightAlign: true, values: [\"<span class=\\\"formatted\\\" title=\\\"\\\"><span class=\\\"numbers\\\">161937</span></span>\",\"<span class=\\\"formatted\\\" title=\\\"\\\"><span class=\\\"numbers\\\">94064</span></span>\",\"<span class=\\\"formatted\\\" title=\\\"\\\"><span class=\\\"numbers\\\">122009</span></span>\",\"<span class=\\\"formatted\\\" title=\\\"\\\"><span class=\\\"numbers\\\">1499149</span></span>\",\"<span class=\\\"formatted\\\" title=\\\"\\\"><span class=\\\"numbers\\\">103420</span></span>\"] }, \n",
       "{ name: \"<span title=\\\"node_id: String\\\">node_id</span>\", children: [], rightAlign: false, values: [\"MDQ6VXNlcjE2MTkzNw==\",\"MDQ6VXNlcjk0MDY0\",\"MDQ6VXNlcjEyMjAwOQ==\",\"MDQ6VXNlcjE0OTkxNDk=\",\"MDQ6VXNlcjEwMzQyMA==\"] }, \n",
       "{ name: \"<span title=\\\"gravatar_id: String\\\">gravatar_id</span>\", children: [], rightAlign: false, values: [\"\",\"\",\"\",\"\",\"\"] }, \n",
       "{ name: \"<span title=\\\"url: URL\\\">url</span>\", children: [], rightAlign: false, values: [\"<a href='https://api.github.com/users/ilyasergey' target='_blank'>https://api.github.com/users/ilyasergey</a>\",\"<a href='https://api.github.com/users/Alefas' target='_blank'>https://api.github.com/users/Alefas</a>\",\"<a href='https://api.github.com/users/donnerpeter' target='_blank'>https://api.github.com/users/donnerpeter</a>\",\"<a href='https://api.github.com/users/OsipovStas' target='_blank'>https://api.github.com/users/OsipovStas</a>\",\"<a href='https://api.github.com/users/ianp' target='_blank'>https://api.github.com/users/ianp</a>\"] }, \n",
       "{ name: \"<span title=\\\"type: String\\\">type</span>\", children: [], rightAlign: false, values: [\"User\",\"User\",\"User\",\"User\",\"User\"] }, \n",
       "{ name: \"<span title=\\\"site_admin: Boolean\\\">site_admin</span>\", children: [], rightAlign: false, values: [\"false\",\"false\",\"false\",\"false\",\"false\"] }, \n",
       "{ name: \"<span title=\\\"contributions: Int\\\">contributions</span>\", children: [], rightAlign: true, values: [\"<span class=\\\"formatted\\\" title=\\\"\\\"><span class=\\\"numbers\\\">136</span></span>\",\"<span class=\\\"formatted\\\" title=\\\"\\\"><span class=\\\"numbers\\\">98</span></span>\",\"<span class=\\\"formatted\\\" title=\\\"\\\"><span class=\\\"numbers\\\">70</span></span>\",\"<span class=\\\"formatted\\\" title=\\\"\\\"><span class=\\\"numbers\\\">33</span></span>\",\"<span class=\\\"formatted\\\" title=\\\"\\\"><span class=\\\"numbers\\\">15</span></span>\"] }, \n",
       "], id: -654311396, rootId: -654311408 } ) });\n",
       "/*-->*/\n",
       "\n",
       "/*<!--*/\n",
       "call_DataFrame(function() { DataFrame.addTable({ cols: [{ name: \"<span title=\\\"login: String\\\">login</span>\", children: [], rightAlign: false, values: [\"artem-tikhomirov\",\"juliabeliaeva\",\"ashatalin\",\"alshan\",\"fisakov\"] }, \n",
       "{ name: \"<span title=\\\"id: Int\\\">id</span>\", children: [], rightAlign: true, values: [\"<span class=\\\"formatted\\\" title=\\\"\\\"><span class=\\\"numbers\\\">22168528</span></span>\",\"<span class=\\\"formatted\\\" title=\\\"\\\"><span class=\\\"numbers\\\">58706</span></span>\",\"<span class=\\\"formatted\\\" title=\\\"\\\"><span class=\\\"numbers\\\">980692</span></span>\",\"<span class=\\\"formatted\\\" title=\\\"\\\"><span class=\\\"numbers\\\">4430922</span></span>\",\"<span class=\\\"formatted\\\" title=\\\"\\\"><span class=\\\"numbers\\\">1011301</span></span>\"] }, \n",
       "{ name: \"<span title=\\\"node_id: String\\\">node_id</span>\", children: [], rightAlign: false, values: [\"MDQ6VXNlcjIyMTY4NTI4\",\"MDQ6VXNlcjU4NzA2\",\"MDQ6VXNlcjk4MDY5Mg==\",\"MDQ6VXNlcjQ0MzA5MjI=\",\"MDQ6VXNlcjEwMTEzMDE=\"] }, \n",
       "{ name: \"<span title=\\\"gravatar_id: String\\\">gravatar_id</span>\", children: [], rightAlign: false, values: [\"\",\"\",\"\",\"\",\"\"] }, \n",
       "{ name: \"<span title=\\\"url: URL\\\">url</span>\", children: [], rightAlign: false, values: [\"<span class=\\\"formatted\\\" title=\\\"https://api.github.com/users/artem-tikhomirov\\\"><a href='https://api.github.com/users/artem-tikhomirov' target='_blank'>https://api.github.com/users/artem-ti<span class=\\\"structural\\\">...</span></a></span>\",\"<span class=\\\"formatted\\\" title=\\\"https://api.github.com/users/juliabeliaeva\\\"><a href='https://api.github.com/users/juliabeliaeva' target='_blank'>https://api.github.com/users/juliabel<span class=\\\"structural\\\">...</span></a></span>\",\"<a href='https://api.github.com/users/ashatalin' target='_blank'>https://api.github.com/users/ashatalin</a>\",\"<a href='https://api.github.com/users/alshan' target='_blank'>https://api.github.com/users/alshan</a>\",\"<a href='https://api.github.com/users/fisakov' target='_blank'>https://api.github.com/users/fisakov</a>\"] }, \n",
       "{ name: \"<span title=\\\"type: String\\\">type</span>\", children: [], rightAlign: false, values: [\"User\",\"User\",\"User\",\"User\",\"User\"] }, \n",
       "{ name: \"<span title=\\\"site_admin: Boolean\\\">site_admin</span>\", children: [], rightAlign: false, values: [\"false\",\"false\",\"false\",\"false\",\"false\"] }, \n",
       "{ name: \"<span title=\\\"contributions: Int\\\">contributions</span>\", children: [], rightAlign: true, values: [\"<span class=\\\"formatted\\\" title=\\\"\\\"><span class=\\\"numbers\\\">6418</span></span>\",\"<span class=\\\"formatted\\\" title=\\\"\\\"><span class=\\\"numbers\\\">5762</span></span>\",\"<span class=\\\"formatted\\\" title=\\\"\\\"><span class=\\\"numbers\\\">4560</span></span>\",\"<span class=\\\"formatted\\\" title=\\\"\\\"><span class=\\\"numbers\\\">4268</span></span>\",\"<span class=\\\"formatted\\\" title=\\\"\\\"><span class=\\\"numbers\\\">4006</span></span>\"] }, \n",
       "], id: -654311395, rootId: -654311408 } ) });\n",
       "/*-->*/\n",
       "\n",
       "/*<!--*/\n",
       "call_DataFrame(function() { DataFrame.addTable({ cols: [{ name: \"<span title=\\\"login: String\\\">login</span>\", children: [], rightAlign: false, values: [\"akozlova\",\"yole\",\"donnerpeter\",\"cdracm\",\"develar\"] }, \n",
       "{ name: \"<span title=\\\"id: Int\\\">id</span>\", children: [], rightAlign: true, values: [\"<span class=\\\"formatted\\\" title=\\\"\\\"><span class=\\\"numbers\\\">4306070</span></span>\",\"<span class=\\\"formatted\\\" title=\\\"\\\"><span class=\\\"numbers\\\">46553</span></span>\",\"<span class=\\\"formatted\\\" title=\\\"\\\"><span class=\\\"numbers\\\">122009</span></span>\",\"<span class=\\\"formatted\\\" title=\\\"\\\"><span class=\\\"numbers\\\">5497783</span></span>\",\"<span class=\\\"formatted\\\" title=\\\"\\\"><span class=\\\"numbers\\\">350686</span></span>\"] }, \n",
       "{ name: \"<span title=\\\"node_id: String\\\">node_id</span>\", children: [], rightAlign: false, values: [\"MDQ6VXNlcjQzMDYwNzA=\",\"MDQ6VXNlcjQ2NTUz\",\"MDQ6VXNlcjEyMjAwOQ==\",\"MDQ6VXNlcjU0OTc3ODM=\",\"MDQ6VXNlcjM1MDY4Ng==\"] }, \n",
       "{ name: \"<span title=\\\"gravatar_id: String\\\">gravatar_id</span>\", children: [], rightAlign: false, values: [\"\",\"\",\"\",\"\",\"\"] }, \n",
       "{ name: \"<span title=\\\"url: URL\\\">url</span>\", children: [], rightAlign: false, values: [\"<a href='https://api.github.com/users/akozlova' target='_blank'>https://api.github.com/users/akozlova</a>\",\"<a href='https://api.github.com/users/yole' target='_blank'>https://api.github.com/users/yole</a>\",\"<a href='https://api.github.com/users/donnerpeter' target='_blank'>https://api.github.com/users/donnerpeter</a>\",\"<a href='https://api.github.com/users/cdracm' target='_blank'>https://api.github.com/users/cdracm</a>\",\"<a href='https://api.github.com/users/develar' target='_blank'>https://api.github.com/users/develar</a>\"] }, \n",
       "{ name: \"<span title=\\\"type: String\\\">type</span>\", children: [], rightAlign: false, values: [\"User\",\"User\",\"User\",\"User\",\"User\"] }, \n",
       "{ name: \"<span title=\\\"site_admin: Boolean\\\">site_admin</span>\", children: [], rightAlign: false, values: [\"false\",\"false\",\"false\",\"false\",\"false\"] }, \n",
       "{ name: \"<span title=\\\"contributions: Int\\\">contributions</span>\", children: [], rightAlign: true, values: [\"<span class=\\\"formatted\\\" title=\\\"\\\"><span class=\\\"numbers\\\">21724</span></span>\",\"<span class=\\\"formatted\\\" title=\\\"\\\"><span class=\\\"numbers\\\">17519</span></span>\",\"<span class=\\\"formatted\\\" title=\\\"\\\"><span class=\\\"numbers\\\">17201</span></span>\",\"<span class=\\\"formatted\\\" title=\\\"\\\"><span class=\\\"numbers\\\">14996</span></span>\",\"<span class=\\\"formatted\\\" title=\\\"\\\"><span class=\\\"numbers\\\">11983</span></span>\"] }, \n",
       "], id: -654311394, rootId: -654311408 } ) });\n",
       "/*-->*/\n",
       "\n",
       "/*<!--*/\n",
       "call_DataFrame(function() { DataFrame.addTable({ cols: [{ name: \"<span title=\\\"login: String\\\">login</span>\", children: [], rightAlign: false, values: [\"jonnyzzz\",\"NikolayPianikov\",\"Julia-Alexandrova\",\"derigel23\",\"AlexanderKholodov46\"] }, \n",
       "{ name: \"<span title=\\\"id: Int\\\">id</span>\", children: [], rightAlign: true, values: [\"<span class=\\\"formatted\\\" title=\\\"\\\"><span class=\\\"numbers\\\">256431</span></span>\",\"<span class=\\\"formatted\\\" title=\\\"\\\"><span class=\\\"numbers\\\">11720017</span></span>\",\"<span class=\\\"formatted\\\" title=\\\"\\\"><span class=\\\"numbers\\\">4893480</span></span>\",\"<span class=\\\"formatted\\\" title=\\\"\\\"><span class=\\\"numbers\\\">175250</span></span>\",\"<span class=\\\"formatted\\\" title=\\\"\\\"><span class=\\\"numbers\\\">27734248</span></span>\"] }, \n",
       "{ name: \"<span title=\\\"node_id: String\\\">node_id</span>\", children: [], rightAlign: false, values: [\"MDQ6VXNlcjI1NjQzMQ==\",\"MDQ6VXNlcjExNzIwMDE3\",\"MDQ6VXNlcjQ4OTM0ODA=\",\"MDQ6VXNlcjE3NTI1MA==\",\"MDQ6VXNlcjI3NzM0MjQ4\"] }, \n",
       "{ name: \"<span title=\\\"gravatar_id: String\\\">gravatar_id</span>\", children: [], rightAlign: false, values: [\"\",\"\",\"\",\"\",\"\"] }, \n",
       "{ name: \"<span title=\\\"url: URL\\\">url</span>\", children: [], rightAlign: false, values: [\"<a href='https://api.github.com/users/jonnyzzz' target='_blank'>https://api.github.com/users/jonnyzzz</a>\",\"<span class=\\\"formatted\\\" title=\\\"https://api.github.com/users/NikolayPianikov\\\"><a href='https://api.github.com/users/NikolayPianikov' target='_blank'>https://api.github.com/users/NikolayP<span class=\\\"structural\\\">...</span></a></span>\",\"<span class=\\\"formatted\\\" title=\\\"https://api.github.com/users/Julia-Alexandrova\\\"><a href='https://api.github.com/users/Julia-Alexandrova' target='_blank'>https://api.github.com/users/Julia-Al<span class=\\\"structural\\\">...</span></a></span>\",\"<a href='https://api.github.com/users/derigel23' target='_blank'>https://api.github.com/users/derigel23</a>\",\"<span class=\\\"formatted\\\" title=\\\"https://api.github.com/users/AlexanderKholodov46\\\"><a href='https://api.github.com/users/AlexanderKholodov46' target='_blank'>https://api.github.com/users/Alexande<span class=\\\"structural\\\">...</span></a></span>\"] }, \n",
       "{ name: \"<span title=\\\"type: String\\\">type</span>\", children: [], rightAlign: false, values: [\"User\",\"User\",\"User\",\"User\",\"User\"] }, \n",
       "{ name: \"<span title=\\\"site_admin: Boolean\\\">site_admin</span>\", children: [], rightAlign: false, values: [\"false\",\"false\",\"false\",\"false\",\"false\"] }, \n",
       "{ name: \"<span title=\\\"contributions: Int\\\">contributions</span>\", children: [], rightAlign: true, values: [\"<span class=\\\"formatted\\\" title=\\\"\\\"><span class=\\\"numbers\\\">103</span></span>\",\"<span class=\\\"formatted\\\" title=\\\"\\\"><span class=\\\"numbers\\\">44</span></span>\",\"<span class=\\\"formatted\\\" title=\\\"\\\"><span class=\\\"numbers\\\">3</span></span>\",\"<span class=\\\"formatted\\\" title=\\\"\\\"><span class=\\\"numbers\\\">2</span></span>\",\"<span class=\\\"formatted\\\" title=\\\"\\\"><span class=\\\"numbers\\\">2</span></span>\"] }, \n",
       "], id: -654311393, rootId: -654311408 } ) });\n",
       "/*-->*/\n",
       "\n",
       "/*<!--*/\n",
       "call_DataFrame(function() { DataFrame.addTable({ cols: [{ name: \"<span title=\\\"login: String\\\">login</span>\", children: [], rightAlign: false, values: [\"boot85\",\"pavel-nikolaev\",\"rushimusmaximus\",\"lehvolk\",\"anna239\"] }, \n",
       "{ name: \"<span title=\\\"id: Int\\\">id</span>\", children: [], rightAlign: true, values: [\"<span class=\\\"formatted\\\" title=\\\"\\\"><span class=\\\"numbers\\\">2348192</span></span>\",\"<span class=\\\"formatted\\\" title=\\\"\\\"><span class=\\\"numbers\\\">832406</span></span>\",\"<span class=\\\"formatted\\\" title=\\\"\\\"><span class=\\\"numbers\\\">4422015</span></span>\",\"<span class=\\\"formatted\\\" title=\\\"\\\"><span class=\\\"numbers\\\">6284727</span></span>\",\"<span class=\\\"formatted\\\" title=\\\"\\\"><span class=\\\"numbers\\\">661533</span></span>\"] }, \n",
       "{ name: \"<span title=\\\"node_id: String\\\">node_id</span>\", children: [], rightAlign: false, values: [\"MDQ6VXNlcjIzNDgxOTI=\",\"MDQ6VXNlcjgzMjQwNg==\",\"MDQ6VXNlcjQ0MjIwMTU=\",\"MDQ6VXNlcjYyODQ3Mjc=\",\"MDQ6VXNlcjY2MTUzMw==\"] }, \n",
       "{ name: \"<span title=\\\"gravatar_id: String\\\">gravatar_id</span>\", children: [], rightAlign: false, values: [\"\",\"\",\"\",\"\",\"\"] }, \n",
       "{ name: \"<span title=\\\"url: URL\\\">url</span>\", children: [], rightAlign: false, values: [\"<a href='https://api.github.com/users/boot85' target='_blank'>https://api.github.com/users/boot85</a>\",\"<span class=\\\"formatted\\\" title=\\\"https://api.github.com/users/pavel-nikolaev\\\"><a href='https://api.github.com/users/pavel-nikolaev' target='_blank'>https://api.github.com/users/pavel-ni<span class=\\\"structural\\\">...</span></a></span>\",\"<span class=\\\"formatted\\\" title=\\\"https://api.github.com/users/rushimusmaximus\\\"><a href='https://api.github.com/users/rushimusmaximus' target='_blank'>https://api.github.com/users/rushimus<span class=\\\"structural\\\">...</span></a></span>\",\"<a href='https://api.github.com/users/lehvolk' target='_blank'>https://api.github.com/users/lehvolk</a>\",\"<a href='https://api.github.com/users/anna239' target='_blank'>https://api.github.com/users/anna239</a>\"] }, \n",
       "{ name: \"<span title=\\\"type: String\\\">type</span>\", children: [], rightAlign: false, values: [\"User\",\"User\",\"User\",\"User\",\"User\"] }, \n",
       "{ name: \"<span title=\\\"site_admin: Boolean\\\">site_admin</span>\", children: [], rightAlign: false, values: [\"false\",\"false\",\"false\",\"false\",\"false\"] }, \n",
       "{ name: \"<span title=\\\"contributions: Int\\\">contributions</span>\", children: [], rightAlign: true, values: [\"<span class=\\\"formatted\\\" title=\\\"\\\"><span class=\\\"numbers\\\">53</span></span>\",\"<span class=\\\"formatted\\\" title=\\\"\\\"><span class=\\\"numbers\\\">23</span></span>\",\"<span class=\\\"formatted\\\" title=\\\"\\\"><span class=\\\"numbers\\\">6</span></span>\",\"<span class=\\\"formatted\\\" title=\\\"\\\"><span class=\\\"numbers\\\">5</span></span>\",\"<span class=\\\"formatted\\\" title=\\\"\\\"><span class=\\\"numbers\\\">4</span></span>\"] }, \n",
       "], id: -654311392, rootId: -654311408 } ) });\n",
       "/*-->*/\n",
       "\n",
       "/*<!--*/\n",
       "call_DataFrame(function() { DataFrame.addTable({ cols: [{ name: \"<span title=\\\"login: String\\\">login</span>\", children: [], rightAlign: false, values: [\"Alefas\",\"niktrop\",\"pavelfatin\",\"unkarjedy\",\"adkozlov\"] }, \n",
       "{ name: \"<span title=\\\"id: Int\\\">id</span>\", children: [], rightAlign: true, values: [\"<span class=\\\"formatted\\\" title=\\\"\\\"><span class=\\\"numbers\\\">94064</span></span>\",\"<span class=\\\"formatted\\\" title=\\\"\\\"><span class=\\\"numbers\\\">3604749</span></span>\",\"<span class=\\\"formatted\\\" title=\\\"\\\"><span class=\\\"numbers\\\">677333</span></span>\",\"<span class=\\\"formatted\\\" title=\\\"\\\"><span class=\\\"numbers\\\">3989292</span></span>\",\"<span class=\\\"formatted\\\" title=\\\"\\\"><span class=\\\"numbers\\\">1233785</span></span>\"] }, \n",
       "{ name: \"<span title=\\\"node_id: String\\\">node_id</span>\", children: [], rightAlign: false, values: [\"MDQ6VXNlcjk0MDY0\",\"MDQ6VXNlcjM2MDQ3NDk=\",\"MDQ6VXNlcjY3NzMzMw==\",\"MDQ6VXNlcjM5ODkyOTI=\",\"MDQ6VXNlcjEyMzM3ODU=\"] }, \n",
       "{ name: \"<span title=\\\"gravatar_id: String\\\">gravatar_id</span>\", children: [], rightAlign: false, values: [\"\",\"\",\"\",\"\",\"\"] }, \n",
       "{ name: \"<span title=\\\"url: URL\\\">url</span>\", children: [], rightAlign: false, values: [\"<a href='https://api.github.com/users/Alefas' target='_blank'>https://api.github.com/users/Alefas</a>\",\"<a href='https://api.github.com/users/niktrop' target='_blank'>https://api.github.com/users/niktrop</a>\",\"<a href='https://api.github.com/users/pavelfatin' target='_blank'>https://api.github.com/users/pavelfatin</a>\",\"<a href='https://api.github.com/users/unkarjedy' target='_blank'>https://api.github.com/users/unkarjedy</a>\",\"<a href='https://api.github.com/users/adkozlov' target='_blank'>https://api.github.com/users/adkozlov</a>\"] }, \n",
       "{ name: \"<span title=\\\"type: String\\\">type</span>\", children: [], rightAlign: false, values: [\"User\",\"User\",\"User\",\"User\",\"User\"] }, \n",
       "{ name: \"<span title=\\\"site_admin: Boolean\\\">site_admin</span>\", children: [], rightAlign: false, values: [\"false\",\"false\",\"false\",\"false\",\"false\"] }, \n",
       "{ name: \"<span title=\\\"contributions: Int\\\">contributions</span>\", children: [], rightAlign: true, values: [\"<span class=\\\"formatted\\\" title=\\\"\\\"><span class=\\\"numbers\\\">5990</span></span>\",\"<span class=\\\"formatted\\\" title=\\\"\\\"><span class=\\\"numbers\\\">4708</span></span>\",\"<span class=\\\"formatted\\\" title=\\\"\\\"><span class=\\\"numbers\\\">2816</span></span>\",\"<span class=\\\"formatted\\\" title=\\\"\\\"><span class=\\\"numbers\\\">1767</span></span>\",\"<span class=\\\"formatted\\\" title=\\\"\\\"><span class=\\\"numbers\\\">1659</span></span>\"] }, \n",
       "], id: -654311391, rootId: -654311408 } ) });\n",
       "/*-->*/\n",
       "\n",
       "/*<!--*/\n",
       "call_DataFrame(function() { DataFrame.addTable({ cols: [{ name: \"<span title=\\\"login: String\\\">login</span>\", children: [], rightAlign: false, values: [\"shalupov\",\"msabramo\",\"throwable-one\",\"leo-from-spb\",\"mikekidya\"] }, \n",
       "{ name: \"<span title=\\\"id: Int\\\">id</span>\", children: [], rightAlign: true, values: [\"<span class=\\\"formatted\\\" title=\\\"\\\"><span class=\\\"numbers\\\">1244223</span></span>\",\"<span class=\\\"formatted\\\" title=\\\"\\\"><span class=\\\"numbers\\\">305268</span></span>\",\"<span class=\\\"formatted\\\" title=\\\"\\\"><span class=\\\"numbers\\\">7673963</span></span>\",\"<span class=\\\"formatted\\\" title=\\\"\\\"><span class=\\\"numbers\\\">1406510</span></span>\",\"<span class=\\\"formatted\\\" title=\\\"\\\"><span class=\\\"numbers\\\">33327979</span></span>\"] }, \n",
       "{ name: \"<span title=\\\"node_id: String\\\">node_id</span>\", children: [], rightAlign: false, values: [\"MDQ6VXNlcjEyNDQyMjM=\",\"MDQ6VXNlcjMwNTI2OA==\",\"MDQ6VXNlcjc2NzM5NjM=\",\"MDQ6VXNlcjE0MDY1MTA=\",\"MDQ6VXNlcjMzMzI3OTc5\"] }, \n",
       "{ name: \"<span title=\\\"gravatar_id: String\\\">gravatar_id</span>\", children: [], rightAlign: false, values: [\"\",\"\",\"\",\"\",\"\"] }, \n",
       "{ name: \"<span title=\\\"url: URL\\\">url</span>\", children: [], rightAlign: false, values: [\"<a href='https://api.github.com/users/shalupov' target='_blank'>https://api.github.com/users/shalupov</a>\",\"<a href='https://api.github.com/users/msabramo' target='_blank'>https://api.github.com/users/msabramo</a>\",\"<span class=\\\"formatted\\\" title=\\\"https://api.github.com/users/throwable-one\\\"><a href='https://api.github.com/users/throwable-one' target='_blank'>https://api.github.com/users/throwabl<span class=\\\"structural\\\">...</span></a></span>\",\"<span class=\\\"formatted\\\" title=\\\"https://api.github.com/users/leo-from-spb\\\"><a href='https://api.github.com/users/leo-from-spb' target='_blank'>https://api.github.com/users/leo-from<span class=\\\"structural\\\">...</span></a></span>\",\"<a href='https://api.github.com/users/mikekidya' target='_blank'>https://api.github.com/users/mikekidya</a>\"] }, \n",
       "{ name: \"<span title=\\\"type: String\\\">type</span>\", children: [], rightAlign: false, values: [\"User\",\"User\",\"User\",\"User\",\"User\"] }, \n",
       "{ name: \"<span title=\\\"site_admin: Boolean\\\">site_admin</span>\", children: [], rightAlign: false, values: [\"false\",\"false\",\"false\",\"false\",\"false\"] }, \n",
       "{ name: \"<span title=\\\"contributions: Int\\\">contributions</span>\", children: [], rightAlign: true, values: [\"<span class=\\\"formatted\\\" title=\\\"\\\"><span class=\\\"numbers\\\">422</span></span>\",\"<span class=\\\"formatted\\\" title=\\\"\\\"><span class=\\\"numbers\\\">46</span></span>\",\"<span class=\\\"formatted\\\" title=\\\"\\\"><span class=\\\"numbers\\\">43</span></span>\",\"<span class=\\\"formatted\\\" title=\\\"\\\"><span class=\\\"numbers\\\">24</span></span>\",\"<span class=\\\"formatted\\\" title=\\\"\\\"><span class=\\\"numbers\\\">22</span></span>\"] }, \n",
       "], id: -654311390, rootId: -654311408 } ) });\n",
       "/*-->*/\n",
       "\n",
       "/*<!--*/\n",
       "call_DataFrame(function() { DataFrame.addTable({ cols: [{ name: \"<span title=\\\"login: String\\\">login</span>\", children: [], rightAlign: false, values: [\"shalupov\",\"zaufi\",\"paul-sh\",\"pps83\",\"edouarda\"] }, \n",
       "{ name: \"<span title=\\\"id: Int\\\">id</span>\", children: [], rightAlign: true, values: [\"<span class=\\\"formatted\\\" title=\\\"\\\"><span class=\\\"numbers\\\">1244223</span></span>\",\"<span class=\\\"formatted\\\" title=\\\"\\\"><span class=\\\"numbers\\\">548715</span></span>\",\"<span class=\\\"formatted\\\" title=\\\"\\\"><span class=\\\"numbers\\\">296510</span></span>\",\"<span class=\\\"formatted\\\" title=\\\"\\\"><span class=\\\"numbers\\\">1614246</span></span>\",\"<span class=\\\"formatted\\\" title=\\\"\\\"><span class=\\\"numbers\\\">331889</span></span>\"] }, \n",
       "{ name: \"<span title=\\\"node_id: String\\\">node_id</span>\", children: [], rightAlign: false, values: [\"MDQ6VXNlcjEyNDQyMjM=\",\"MDQ6VXNlcjU0ODcxNQ==\",\"MDQ6VXNlcjI5NjUxMA==\",\"MDQ6VXNlcjE2MTQyNDY=\",\"MDQ6VXNlcjMzMTg4OQ==\"] }, \n",
       "{ name: \"<span title=\\\"gravatar_id: String\\\">gravatar_id</span>\", children: [], rightAlign: false, values: [\"\",\"\",\"\",\"\",\"\"] }, \n",
       "{ name: \"<span title=\\\"url: URL\\\">url</span>\", children: [], rightAlign: false, values: [\"<a href='https://api.github.com/users/shalupov' target='_blank'>https://api.github.com/users/shalupov</a>\",\"<a href='https://api.github.com/users/zaufi' target='_blank'>https://api.github.com/users/zaufi</a>\",\"<a href='https://api.github.com/users/paul-sh' target='_blank'>https://api.github.com/users/paul-sh</a>\",\"<a href='https://api.github.com/users/pps83' target='_blank'>https://api.github.com/users/pps83</a>\",\"<a href='https://api.github.com/users/edouarda' target='_blank'>https://api.github.com/users/edouarda</a>\"] }, \n",
       "{ name: \"<span title=\\\"type: String\\\">type</span>\", children: [], rightAlign: false, values: [\"User\",\"User\",\"User\",\"User\",\"User\"] }, \n",
       "{ name: \"<span title=\\\"site_admin: Boolean\\\">site_admin</span>\", children: [], rightAlign: false, values: [\"false\",\"false\",\"false\",\"false\",\"false\"] }, \n",
       "{ name: \"<span title=\\\"contributions: Int\\\">contributions</span>\", children: [], rightAlign: true, values: [\"<span class=\\\"formatted\\\" title=\\\"\\\"><span class=\\\"numbers\\\">48</span></span>\",\"<span class=\\\"formatted\\\" title=\\\"\\\"><span class=\\\"numbers\\\">26</span></span>\",\"<span class=\\\"formatted\\\" title=\\\"\\\"><span class=\\\"numbers\\\">3</span></span>\",\"<span class=\\\"formatted\\\" title=\\\"\\\"><span class=\\\"numbers\\\">2</span></span>\",\"<span class=\\\"formatted\\\" title=\\\"\\\"><span class=\\\"numbers\\\">1</span></span>\"] }, \n",
       "], id: -654311389, rootId: -654311408 } ) });\n",
       "/*-->*/\n",
       "\n",
       "/*<!--*/\n",
       "call_DataFrame(function() { DataFrame.addTable({ cols: [{ name: \"<span title=\\\"login: String\\\">login</span>\", children: [], rightAlign: false, values: [\"udalov\",\"mglukhikh\",\"goodwinnk\",\"valentinkip\",\"abreslav\"] }, \n",
       "{ name: \"<span title=\\\"id: Int\\\">id</span>\", children: [], rightAlign: true, values: [\"<span class=\\\"formatted\\\" title=\\\"\\\"><span class=\\\"numbers\\\">292714</span></span>\",\"<span class=\\\"formatted\\\" title=\\\"\\\"><span class=\\\"numbers\\\">1127631</span></span>\",\"<span class=\\\"formatted\\\" title=\\\"\\\"><span class=\\\"numbers\\\">908958</span></span>\",\"<span class=\\\"formatted\\\" title=\\\"\\\"><span class=\\\"numbers\\\">3007027</span></span>\",\"<span class=\\\"formatted\\\" title=\\\"\\\"><span class=\\\"numbers\\\">888318</span></span>\"] }, \n",
       "{ name: \"<span title=\\\"node_id: String\\\">node_id</span>\", children: [], rightAlign: false, values: [\"MDQ6VXNlcjI5MjcxNA==\",\"MDQ6VXNlcjExMjc2MzE=\",\"MDQ6VXNlcjkwODk1OA==\",\"MDQ6VXNlcjMwMDcwMjc=\",\"MDQ6VXNlcjg4ODMxOA==\"] }, \n",
       "{ name: \"<span title=\\\"gravatar_id: String\\\">gravatar_id</span>\", children: [], rightAlign: false, values: [\"\",\"\",\"\",\"\",\"\"] }, \n",
       "{ name: \"<span title=\\\"url: URL\\\">url</span>\", children: [], rightAlign: false, values: [\"<a href='https://api.github.com/users/udalov' target='_blank'>https://api.github.com/users/udalov</a>\",\"<a href='https://api.github.com/users/mglukhikh' target='_blank'>https://api.github.com/users/mglukhikh</a>\",\"<a href='https://api.github.com/users/goodwinnk' target='_blank'>https://api.github.com/users/goodwinnk</a>\",\"<a href='https://api.github.com/users/valentinkip' target='_blank'>https://api.github.com/users/valentinkip</a>\",\"<a href='https://api.github.com/users/abreslav' target='_blank'>https://api.github.com/users/abreslav</a>\"] }, \n",
       "{ name: \"<span title=\\\"type: String\\\">type</span>\", children: [], rightAlign: false, values: [\"User\",\"User\",\"User\",\"User\",\"User\"] }, \n",
       "{ name: \"<span title=\\\"site_admin: Boolean\\\">site_admin</span>\", children: [], rightAlign: false, values: [\"false\",\"false\",\"false\",\"false\",\"false\"] }, \n",
       "{ name: \"<span title=\\\"contributions: Int\\\">contributions</span>\", children: [], rightAlign: true, values: [\"<span class=\\\"formatted\\\" title=\\\"\\\"><span class=\\\"numbers\\\">5630</span></span>\",\"<span class=\\\"formatted\\\" title=\\\"\\\"><span class=\\\"numbers\\\">4015</span></span>\",\"<span class=\\\"formatted\\\" title=\\\"\\\"><span class=\\\"numbers\\\">3925</span></span>\",\"<span class=\\\"formatted\\\" title=\\\"\\\"><span class=\\\"numbers\\\">3069</span></span>\",\"<span class=\\\"formatted\\\" title=\\\"\\\"><span class=\\\"numbers\\\">2862</span></span>\"] }, \n",
       "], id: -654311388, rootId: -654311408 } ) });\n",
       "/*-->*/\n",
       "\n",
       "call_DataFrame(function() { DataFrame.renderTable(-654311408) });\n",
       "\n",
       "\n",
       "        </script>\n",
       "        </html>"
      ]
     },
     "execution_count": 8,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "jbRepos.contributors"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "pycharm": {
     "name": "#%% md\n"
    }
   },
   "source": [
    "So `contributors` is a [FrameColumn](https://kotlin.github.io/dataframe/datacolumn.html#framecolumn), a column of dataframes. There is a family of operations [to work with several dataframes](https://kotlin.github.io/dataframe/multipledataframes.html). We can use [`concat`](https://kotlin.github.io/dataframe/concat.html) to simplify the structure."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 9,
   "metadata": {
    "pycharm": {
     "name": "#%%\n"
    }
   },
   "outputs": [
    {
     "data": {
      "text/html": [
       "        <html>\n",
       "        <head>\n",
       "            <style type=\"text/css\">\n",
       "                \n",
       "\n",
       "            </style>\n",
       "        </head>\n",
       "        <body>\n",
       "            <table class=\"dataframe\" id=\"df_-654311387\"/>\n",
       "\n",
       "<p>... showing only top 20 of 1673 rows</p><p>DataFrame [1673 x 8]</p>\n",
       "        </body>\n",
       "        <script>\n",
       "            /*<!--*/\n",
       "call_DataFrame(function() { DataFrame.addTable({ cols: [{ name: \"<span title=\\\"login: String\\\">login</span>\", children: [], rightAlign: false, values: [\"chashnikov\",\"shafirov\",\"pavelsher\",\"yole\",\"maartenba\",\"rekolobov\",\"hhariri\",\"tdietrich513\",\"Elwetana\",\"tablekat\",\"mwgriffiths88\",\"tikicoder\",\"aschoelzhorn\",\"tetsuo13\",\"baranovskis\",\"jawn\",\"nylchr\",\"nesteruk\",\"jeff-french\",\"johannesg\"] }, \n",
       "{ name: \"<span title=\\\"id: Int\\\">id</span>\", children: [], rightAlign: true, values: [\"<span class=\\\"formatted\\\" title=\\\"\\\"><span class=\\\"numbers\\\">978014</span></span>\",\"<span class=\\\"formatted\\\" title=\\\"\\\"><span class=\\\"numbers\\\">121982</span></span>\",\"<span class=\\\"formatted\\\" title=\\\"\\\"><span class=\\\"numbers\\\">301744</span></span>\",\"<span class=\\\"formatted\\\" title=\\\"\\\"><span class=\\\"numbers\\\">46553</span></span>\",\"<span class=\\\"formatted\\\" title=\\\"\\\"><span class=\\\"numbers\\\">485230</span></span>\",\"<span class=\\\"formatted\\\" title=\\\"\\\"><span class=\\\"numbers\\\">2941429</span></span>\",\"<span class=\\\"formatted\\\" title=\\\"\\\"><span class=\\\"numbers\\\">108107</span></span>\",\"<span class=\\\"formatted\\\" title=\\\"\\\"><span class=\\\"numbers\\\">445632</span></span>\",\"<span class=\\\"formatted\\\" title=\\\"\\\"><span class=\\\"numbers\\\">7472690</span></span>\",\"<span class=\\\"formatted\\\" title=\\\"\\\"><span class=\\\"numbers\\\">6765561</span></span>\",\"<span class=\\\"formatted\\\" title=\\\"\\\"><span class=\\\"numbers\\\">4941206</span></span>\",\"<span class=\\\"formatted\\\" title=\\\"\\\"><span class=\\\"numbers\\\">787308</span></span>\",\"<span class=\\\"formatted\\\" title=\\\"\\\"><span class=\\\"numbers\\\">1025417</span></span>\",\"<span class=\\\"formatted\\\" title=\\\"\\\"><span class=\\\"numbers\\\">92477</span></span>\",\"<span class=\\\"formatted\\\" title=\\\"\\\"><span class=\\\"numbers\\\">7858775</span></span>\",\"<span class=\\\"formatted\\\" title=\\\"\\\"><span class=\\\"numbers\\\">1705112</span></span>\",\"<span class=\\\"formatted\\\" title=\\\"\\\"><span class=\\\"numbers\\\">25842161</span></span>\",\"<span class=\\\"formatted\\\" title=\\\"\\\"><span class=\\\"numbers\\\">469046</span></span>\",\"<span class=\\\"formatted\\\" title=\\\"\\\"><span class=\\\"numbers\\\">209994</span></span>\",\"<span class=\\\"formatted\\\" title=\\\"\\\"><span class=\\\"numbers\\\">186378</span></span>\"] }, \n",
       "{ name: \"<span title=\\\"node_id: String\\\">node_id</span>\", children: [], rightAlign: false, values: [\"MDQ6VXNlcjk3ODAxNA==\",\"MDQ6VXNlcjEyMTk4Mg==\",\"MDQ6VXNlcjMwMTc0NA==\",\"MDQ6VXNlcjQ2NTUz\",\"MDQ6VXNlcjQ4NTIzMA==\",\"MDQ6VXNlcjI5NDE0Mjk=\",\"MDQ6VXNlcjEwODEwNw==\",\"MDQ6VXNlcjQ0NTYzMg==\",\"MDQ6VXNlcjc0NzI2OTA=\",\"MDQ6VXNlcjY3NjU1NjE=\",\"MDQ6VXNlcjQ5NDEyMDY=\",\"MDQ6VXNlcjc4NzMwOA==\",\"MDQ6VXNlcjEwMjU0MTc=\",\"MDQ6VXNlcjkyNDc3\",\"MDQ6VXNlcjc4NTg3NzU=\",\"MDQ6VXNlcjE3MDUxMTI=\",\"MDQ6VXNlcjI1ODQyMTYx\",\"MDQ6VXNlcjQ2OTA0Ng==\",\"MDQ6VXNlcjIwOTk5NA==\",\"MDQ6VXNlcjE4NjM3OA==\"] }, \n",
       "{ name: \"<span title=\\\"gravatar_id: String\\\">gravatar_id</span>\", children: [], rightAlign: false, values: [\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\"] }, \n",
       "{ name: \"<span title=\\\"url: URL\\\">url</span>\", children: [], rightAlign: false, values: [\"<a href='https://api.github.com/users/chashnikov' target='_blank'>https://api.github.com/users/chashnikov</a>\",\"<a href='https://api.github.com/users/shafirov' target='_blank'>https://api.github.com/users/shafirov</a>\",\"<a href='https://api.github.com/users/pavelsher' target='_blank'>https://api.github.com/users/pavelsher</a>\",\"<a href='https://api.github.com/users/yole' target='_blank'>https://api.github.com/users/yole</a>\",\"<a href='https://api.github.com/users/maartenba' target='_blank'>https://api.github.com/users/maartenba</a>\",\"<a href='https://api.github.com/users/rekolobov' target='_blank'>https://api.github.com/users/rekolobov</a>\",\"<a href='https://api.github.com/users/hhariri' target='_blank'>https://api.github.com/users/hhariri</a>\",\"<span class=\\\"formatted\\\" title=\\\"https://api.github.com/users/tdietrich513\\\"><a href='https://api.github.com/users/tdietrich513' target='_blank'>https://api.github.com/users/tdietric<span class=\\\"structural\\\">...</span></a></span>\",\"<a href='https://api.github.com/users/Elwetana' target='_blank'>https://api.github.com/users/Elwetana</a>\",\"<a href='https://api.github.com/users/tablekat' target='_blank'>https://api.github.com/users/tablekat</a>\",\"<span class=\\\"formatted\\\" title=\\\"https://api.github.com/users/mwgriffiths88\\\"><a href='https://api.github.com/users/mwgriffiths88' target='_blank'>https://api.github.com/users/mwgriffi<span class=\\\"structural\\\">...</span></a></span>\",\"<a href='https://api.github.com/users/tikicoder' target='_blank'>https://api.github.com/users/tikicoder</a>\",\"<span class=\\\"formatted\\\" title=\\\"https://api.github.com/users/aschoelzhorn\\\"><a href='https://api.github.com/users/aschoelzhorn' target='_blank'>https://api.github.com/users/aschoelz<span class=\\\"structural\\\">...</span></a></span>\",\"<a href='https://api.github.com/users/tetsuo13' target='_blank'>https://api.github.com/users/tetsuo13</a>\",\"<a href='https://api.github.com/users/baranovskis' target='_blank'>https://api.github.com/users/baranovskis</a>\",\"<a href='https://api.github.com/users/jawn' target='_blank'>https://api.github.com/users/jawn</a>\",\"<a href='https://api.github.com/users/nylchr' target='_blank'>https://api.github.com/users/nylchr</a>\",\"<a href='https://api.github.com/users/nesteruk' target='_blank'>https://api.github.com/users/nesteruk</a>\",\"<a href='https://api.github.com/users/jeff-french' target='_blank'>https://api.github.com/users/jeff-french</a>\",\"<a href='https://api.github.com/users/johannesg' target='_blank'>https://api.github.com/users/johannesg</a>\"] }, \n",
       "{ name: \"<span title=\\\"type: String\\\">type</span>\", children: [], rightAlign: false, values: [\"User\",\"User\",\"User\",\"User\",\"User\",\"User\",\"User\",\"User\",\"User\",\"User\",\"User\",\"User\",\"User\",\"User\",\"User\",\"User\",\"User\",\"User\",\"User\",\"User\"] }, \n",
       "{ name: \"<span title=\\\"site_admin: Boolean\\\">site_admin</span>\", children: [], rightAlign: false, values: [\"false\",\"false\",\"false\",\"false\",\"false\",\"false\",\"false\",\"false\",\"false\",\"false\",\"false\",\"false\",\"false\",\"false\",\"false\",\"false\",\"false\",\"false\",\"false\",\"false\"] }, \n",
       "{ name: \"<span title=\\\"contributions: Int\\\">contributions</span>\", children: [], rightAlign: true, values: [\"<span class=\\\"formatted\\\" title=\\\"\\\"><span class=\\\"numbers\\\">145</span></span>\",\"<span class=\\\"formatted\\\" title=\\\"\\\"><span class=\\\"numbers\\\">27</span></span>\",\"<span class=\\\"formatted\\\" title=\\\"\\\"><span class=\\\"numbers\\\">6</span></span>\",\"<span class=\\\"formatted\\\" title=\\\"\\\"><span class=\\\"numbers\\\">1</span></span>\",\"<span class=\\\"formatted\\\" title=\\\"\\\"><span class=\\\"numbers\\\">215</span></span>\",\"<span class=\\\"formatted\\\" title=\\\"\\\"><span class=\\\"numbers\\\">115</span></span>\",\"<span class=\\\"formatted\\\" title=\\\"\\\"><span class=\\\"numbers\\\">94</span></span>\",\"<span class=\\\"formatted\\\" title=\\\"\\\"><span class=\\\"numbers\\\">5</span></span>\",\"<span class=\\\"formatted\\\" title=\\\"\\\"><span class=\\\"numbers\\\">4</span></span>\",\"<span class=\\\"formatted\\\" title=\\\"\\\"><span class=\\\"numbers\\\">4</span></span>\",\"<span class=\\\"formatted\\\" title=\\\"\\\"><span class=\\\"numbers\\\">4</span></span>\",\"<span class=\\\"formatted\\\" title=\\\"\\\"><span class=\\\"numbers\\\">3</span></span>\",\"<span class=\\\"formatted\\\" title=\\\"\\\"><span class=\\\"numbers\\\">2</span></span>\",\"<span class=\\\"formatted\\\" title=\\\"\\\"><span class=\\\"numbers\\\">1</span></span>\",\"<span class=\\\"formatted\\\" title=\\\"\\\"><span class=\\\"numbers\\\">1</span></span>\",\"<span class=\\\"formatted\\\" title=\\\"\\\"><span class=\\\"numbers\\\">1</span></span>\",\"<span class=\\\"formatted\\\" title=\\\"\\\"><span class=\\\"numbers\\\">1</span></span>\",\"<span class=\\\"formatted\\\" title=\\\"\\\"><span class=\\\"numbers\\\">1</span></span>\",\"<span class=\\\"formatted\\\" title=\\\"\\\"><span class=\\\"numbers\\\">1</span></span>\",\"<span class=\\\"formatted\\\" title=\\\"\\\"><span class=\\\"numbers\\\">1</span></span>\"] }, \n",
       "], id: -654311387, rootId: -654311387 } ) });\n",
       "/*-->*/\n",
       "\n",
       "call_DataFrame(function() { DataFrame.renderTable(-654311387) });\n",
       "\n",
       "\n",
       "        </script>\n",
       "        </html>"
      ]
     },
     "execution_count": 9,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "val jbContributors = jbRepos.contributors.concat()\n",
    "jbContributors"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "pycharm": {
     "name": "#%% md\n"
    }
   },
   "source": [
    "Probably not all of them are unique rows. Let's use [`distinctBy`](https://kotlin.github.io/dataframe/distinct.html#distinctby)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 10,
   "metadata": {
    "pycharm": {
     "name": "#%%\n"
    }
   },
   "outputs": [
    {
     "data": {
      "text/plain": [
       "1123"
      ]
     },
     "execution_count": 10,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "jbContributors.distinctBy { login }.count()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "pycharm": {
     "name": "#%% md\n"
    }
   },
   "source": [
    "So, the answer to the question \"How many contributors there are\" is 1123."
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "pycharm": {
     "name": "#%% md\n"
    }
   },
   "source": [
    "Now that we have a dataframe with all contributors from jb repositories, let's see **how much do they contribute** with the help of [groupBy aggregations](https://kotlin.github.io/dataframe/groupby.html#aggregation)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 11,
   "metadata": {
    "pycharm": {
     "name": "#%%\n"
    }
   },
   "outputs": [],
   "source": [
    "val top = jbContributors.groupBy { login and url }.sum { contributions }.sortByDesc { contributions }"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "pycharm": {
     "name": "#%% md\n"
    }
   },
   "source": [
    "2. How many of those contributors are not JetBrains members (according to GitHub)?"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 12,
   "metadata": {
    "pycharm": {
     "name": "#%%\n"
    }
   },
   "outputs": [
    {
     "data": {
      "text/plain": [
       "187"
      ]
     },
     "execution_count": 12,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "val memberIds = jb.members.id.toSet()\n",
    "memberIds.size"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 13,
   "metadata": {
    "pycharm": {
     "name": "#%%\n"
    }
   },
   "outputs": [],
   "source": [
    "val communityContributors = jbContributors.filter { it.id !in memberIds }"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 14,
   "metadata": {
    "pycharm": {
     "name": "#%%\n"
    }
   },
   "outputs": [
    {
     "data": {
      "text/html": [
       "        <html>\n",
       "        <head>\n",
       "            <style type=\"text/css\">\n",
       "                \n",
       "\n",
       "            </style>\n",
       "        </head>\n",
       "        <body>\n",
       "            <table class=\"dataframe\" id=\"df_-654311386\"/>\n",
       "\n",
       "<p>... showing only top 20 of 997 rows</p><p>DataFrame [997 x 3]</p>\n",
       "        </body>\n",
       "        <script>\n",
       "            /*<!--*/\n",
       "call_DataFrame(function() { DataFrame.addTable({ cols: [{ name: \"<span title=\\\"login: String\\\">login</span>\", children: [], rightAlign: false, values: [\"akozlova\",\"cdracm\",\"develar\",\"juliabeliaeva\",\"bulenkov\",\"goodwinnk\",\"AMPivovarov\",\"amaembo\",\"artem-tikhomirov\",\"valentinkip\",\"mglukhikh\",\"traff\",\"ktisha\",\"asedunov\",\"Iris24\",\"alshan\",\"fisakov\",\"abreslav\",\"maxmedvedev\",\"JB-Dmitry\"] }, \n",
       "{ name: \"<span title=\\\"url: URL\\\">url</span>\", children: [], rightAlign: false, values: [\"<a href='https://api.github.com/users/akozlova' target='_blank'>https://api.github.com/users/akozlova</a>\",\"<a href='https://api.github.com/users/cdracm' target='_blank'>https://api.github.com/users/cdracm</a>\",\"<a href='https://api.github.com/users/develar' target='_blank'>https://api.github.com/users/develar</a>\",\"<span class=\\\"formatted\\\" title=\\\"https://api.github.com/users/juliabeliaeva\\\"><a href='https://api.github.com/users/juliabeliaeva' target='_blank'>https://api.github.com/users/juliabel<span class=\\\"structural\\\">...</span></a></span>\",\"<a href='https://api.github.com/users/bulenkov' target='_blank'>https://api.github.com/users/bulenkov</a>\",\"<a href='https://api.github.com/users/goodwinnk' target='_blank'>https://api.github.com/users/goodwinnk</a>\",\"<a href='https://api.github.com/users/AMPivovarov' target='_blank'>https://api.github.com/users/AMPivovarov</a>\",\"<a href='https://api.github.com/users/amaembo' target='_blank'>https://api.github.com/users/amaembo</a>\",\"<span class=\\\"formatted\\\" title=\\\"https://api.github.com/users/artem-tikhomirov\\\"><a href='https://api.github.com/users/artem-tikhomirov' target='_blank'>https://api.github.com/users/artem-ti<span class=\\\"structural\\\">...</span></a></span>\",\"<a href='https://api.github.com/users/valentinkip' target='_blank'>https://api.github.com/users/valentinkip</a>\",\"<a href='https://api.github.com/users/mglukhikh' target='_blank'>https://api.github.com/users/mglukhikh</a>\",\"<a href='https://api.github.com/users/traff' target='_blank'>https://api.github.com/users/traff</a>\",\"<a href='https://api.github.com/users/ktisha' target='_blank'>https://api.github.com/users/ktisha</a>\",\"<a href='https://api.github.com/users/asedunov' target='_blank'>https://api.github.com/users/asedunov</a>\",\"<a href='https://api.github.com/users/Iris24' target='_blank'>https://api.github.com/users/Iris24</a>\",\"<a href='https://api.github.com/users/alshan' target='_blank'>https://api.github.com/users/alshan</a>\",\"<a href='https://api.github.com/users/fisakov' target='_blank'>https://api.github.com/users/fisakov</a>\",\"<a href='https://api.github.com/users/abreslav' target='_blank'>https://api.github.com/users/abreslav</a>\",\"<a href='https://api.github.com/users/maxmedvedev' target='_blank'>https://api.github.com/users/maxmedvedev</a>\",\"<a href='https://api.github.com/users/JB-Dmitry' target='_blank'>https://api.github.com/users/JB-Dmitry</a>\"] }, \n",
       "{ name: \"<span title=\\\"contributions: Int\\\">contributions</span>\", children: [], rightAlign: true, values: [\"<span class=\\\"formatted\\\" title=\\\"\\\"><span class=\\\"numbers\\\">21886</span></span>\",\"<span class=\\\"formatted\\\" title=\\\"\\\"><span class=\\\"numbers\\\">15667</span></span>\",\"<span class=\\\"formatted\\\" title=\\\"\\\"><span class=\\\"numbers\\\">13844</span></span>\",\"<span class=\\\"formatted\\\" title=\\\"\\\"><span class=\\\"numbers\\\">10827</span></span>\",\"<span class=\\\"formatted\\\" title=\\\"\\\"><span class=\\\"numbers\\\">7689</span></span>\",\"<span class=\\\"formatted\\\" title=\\\"\\\"><span class=\\\"numbers\\\">6880</span></span>\",\"<span class=\\\"formatted\\\" title=\\\"\\\"><span class=\\\"numbers\\\">6676</span></span>\",\"<span class=\\\"formatted\\\" title=\\\"\\\"><span class=\\\"numbers\\\">6593</span></span>\",\"<span class=\\\"formatted\\\" title=\\\"\\\"><span class=\\\"numbers\\\">6448</span></span>\",\"<span class=\\\"formatted\\\" title=\\\"\\\"><span class=\\\"numbers\\\">5950</span></span>\",\"<span class=\\\"formatted\\\" title=\\\"\\\"><span class=\\\"numbers\\\">5705</span></span>\",\"<span class=\\\"formatted\\\" title=\\\"\\\"><span class=\\\"numbers\\\">5328</span></span>\",\"<span class=\\\"formatted\\\" title=\\\"\\\"><span class=\\\"numbers\\\">5017</span></span>\",\"<span class=\\\"formatted\\\" title=\\\"\\\"><span class=\\\"numbers\\\">4879</span></span>\",\"<span class=\\\"formatted\\\" title=\\\"\\\"><span class=\\\"numbers\\\">4624</span></span>\",\"<span class=\\\"formatted\\\" title=\\\"\\\"><span class=\\\"numbers\\\">4380</span></span>\",\"<span class=\\\"formatted\\\" title=\\\"\\\"><span class=\\\"numbers\\\">4313</span></span>\",\"<span class=\\\"formatted\\\" title=\\\"\\\"><span class=\\\"numbers\\\">4188</span></span>\",\"<span class=\\\"formatted\\\" title=\\\"\\\"><span class=\\\"numbers\\\">3955</span></span>\",\"<span class=\\\"formatted\\\" title=\\\"\\\"><span class=\\\"numbers\\\">3314</span></span>\"] }, \n",
       "], id: -654311386, rootId: -654311386 } ) });\n",
       "/*-->*/\n",
       "\n",
       "call_DataFrame(function() { DataFrame.renderTable(-654311386) });\n",
       "\n",
       "\n",
       "        </script>\n",
       "        </html>"
      ]
     },
     "execution_count": 14,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "communityContributors.groupBy { login and url }.sum { contributions }.sortByDesc { contributions }"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "pycharm": {
     "name": "#%% md\n"
    }
   },
   "source": [
    "Let's visualise the difference two groups of contributors: members and non-members. We will explain `map` operation in more details later"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 15,
   "metadata": {
    "pycharm": {
     "name": "#%%\n"
    }
   },
   "outputs": [
    {
     "data": {
      "text/html": [
       "        <html>\n",
       "        <head>\n",
       "            <style type=\"text/css\">\n",
       "                \n",
       "\n",
       "            </style>\n",
       "        </head>\n",
       "        <body>\n",
       "            <table class=\"dataframe\" id=\"df_-654311385\"/>\n",
       "\n",
       "<p>... showing only top 20 of 100 rows</p><p>DataFrame [100 x 4]</p>\n",
       "        </body>\n",
       "        <script>\n",
       "            /*<!--*/\n",
       "call_DataFrame(function() { DataFrame.addTable({ cols: [{ name: \"<span title=\\\"id: Int\\\">id</span>\", children: [], rightAlign: true, values: [\"<span class=\\\"formatted\\\" title=\\\"\\\"><span class=\\\"numbers\\\">294457</span></span>\",\"<span class=\\\"formatted\\\" title=\\\"\\\"><span class=\\\"numbers\\\">1098358</span></span>\",\"<span class=\\\"formatted\\\" title=\\\"\\\"><span class=\\\"numbers\\\">1156792</span></span>\",\"<span class=\\\"formatted\\\" title=\\\"\\\"><span class=\\\"numbers\\\">1459486</span></span>\",\"<span class=\\\"formatted\\\" title=\\\"\\\"><span class=\\\"numbers\\\">1900367</span></span>\",\"<span class=\\\"formatted\\\" title=\\\"\\\"><span class=\\\"numbers\\\">1900601</span></span>\",\"<span class=\\\"formatted\\\" title=\\\"\\\"><span class=\\\"numbers\\\">2011701</span></span>\",\"<span class=\\\"formatted\\\" title=\\\"\\\"><span class=\\\"numbers\\\">2029446</span></span>\",\"<span class=\\\"formatted\\\" title=\\\"\\\"><span class=\\\"numbers\\\">2046399</span></span>\",\"<span class=\\\"formatted\\\" title=\\\"\\\"><span class=\\\"numbers\\\">2154376</span></span>\",\"<span class=\\\"formatted\\\" title=\\\"\\\"><span class=\\\"numbers\\\">2159815</span></span>\",\"<span class=\\\"formatted\\\" title=\\\"\\\"><span class=\\\"numbers\\\">2172650</span></span>\",\"<span class=\\\"formatted\\\" title=\\\"\\\"><span class=\\\"numbers\\\">2209077</span></span>\",\"<span class=\\\"formatted\\\" title=\\\"\\\"><span class=\\\"numbers\\\">2489216</span></span>\",\"<span class=\\\"formatted\\\" title=\\\"\\\"><span class=\\\"numbers\\\">2608089</span></span>\",\"<span class=\\\"formatted\\\" title=\\\"\\\"><span class=\\\"numbers\\\">2702303</span></span>\",\"<span class=\\\"formatted\\\" title=\\\"\\\"><span class=\\\"numbers\\\">2756223</span></span>\",\"<span class=\\\"formatted\\\" title=\\\"\\\"><span class=\\\"numbers\\\">2924705</span></span>\",\"<span class=\\\"formatted\\\" title=\\\"\\\"><span class=\\\"numbers\\\">2924963</span></span>\",\"<span class=\\\"formatted\\\" title=\\\"\\\"><span class=\\\"numbers\\\">3432266</span></span>\"] }, \n",
       "{ name: \"<span title=\\\"name: String\\\">name</span>\", children: [], rightAlign: false, values: [\"JPS\",\"YouTrackSharp\",\"colorSchemeTool\",\"ideavim\",\"youtrack-vcs-hooks\",\"youtrack-rest-ruby-library\",\"emacs4ij\",\"codereview4intellij\",\"teamcity-nuget-support\",\"Grammar-Kit\",\"intellij-starteam-plugin\",\"la-clojure\",\"MPS\",\"intellij-community\",\"TeamCity.ServiceMessages\",\"youtrack-rest-python-library\",\"intellij-scala\",\"teamcity-messages\",\"teamcity-cpp\",\"kotlin\"] }, \n",
       "{ name: \"<span title=\\\"total: Int\\\">total</span>\", children: [], rightAlign: true, values: [\"<span class=\\\"formatted\\\" title=\\\"\\\"><span class=\\\"numbers\\\">4</span></span>\",\"<span class=\\\"formatted\\\" title=\\\"\\\"><span class=\\\"numbers\\\">20</span></span>\",\"<span class=\\\"formatted\\\" title=\\\"\\\"><span class=\\\"numbers\\\">10</span></span>\",\"<span class=\\\"formatted\\\" title=\\\"\\\"><span class=\\\"numbers\\\">87</span></span>\",\"<span class=\\\"formatted\\\" title=\\\"\\\"><span class=\\\"numbers\\\">1</span></span>\",\"<span class=\\\"formatted\\\" title=\\\"\\\"><span class=\\\"numbers\\\">1</span></span>\",\"<span class=\\\"formatted\\\" title=\\\"\\\"><span class=\\\"numbers\\\">3</span></span>\",\"<span class=\\\"formatted\\\" title=\\\"\\\"><span class=\\\"numbers\\\">1</span></span>\",\"<span class=\\\"formatted\\\" title=\\\"\\\"><span class=\\\"numbers\\\">21</span></span>\",\"<span class=\\\"formatted\\\" title=\\\"\\\"><span class=\\\"numbers\\\">12</span></span>\",\"<span class=\\\"formatted\\\" title=\\\"\\\"><span class=\\\"numbers\\\">1</span></span>\",\"<span class=\\\"formatted\\\" title=\\\"\\\"><span class=\\\"numbers\\\">27</span></span>\",\"<span class=\\\"formatted\\\" title=\\\"\\\"><span class=\\\"numbers\\\">43</span></span>\",\"<span class=\\\"formatted\\\" title=\\\"\\\"><span class=\\\"numbers\\\">100</span></span>\",\"<span class=\\\"formatted\\\" title=\\\"\\\"><span class=\\\"numbers\\\">10</span></span>\",\"<span class=\\\"formatted\\\" title=\\\"\\\"><span class=\\\"numbers\\\">26</span></span>\",\"<span class=\\\"formatted\\\" title=\\\"\\\"><span class=\\\"numbers\\\">100</span></span>\",\"<span class=\\\"formatted\\\" title=\\\"\\\"><span class=\\\"numbers\\\">28</span></span>\",\"<span class=\\\"formatted\\\" title=\\\"\\\"><span class=\\\"numbers\\\">8</span></span>\",\"<span class=\\\"formatted\\\" title=\\\"\\\"><span class=\\\"numbers\\\">100</span></span>\"] }, \n",
       "{ name: \"<span title=\\\"community: Int\\\">community</span>\", children: [], rightAlign: true, values: [\"<span class=\\\"formatted\\\" title=\\\"\\\"><span class=\\\"numbers\\\">0</span></span>\",\"<span class=\\\"formatted\\\" title=\\\"\\\"><span class=\\\"numbers\\\">17</span></span>\",\"<span class=\\\"formatted\\\" title=\\\"\\\"><span class=\\\"numbers\\\">7</span></span>\",\"<span class=\\\"formatted\\\" title=\\\"\\\"><span class=\\\"numbers\\\">78</span></span>\",\"<span class=\\\"formatted\\\" title=\\\"\\\"><span class=\\\"numbers\\\">0</span></span>\",\"<span class=\\\"formatted\\\" title=\\\"\\\"><span class=\\\"numbers\\\">0</span></span>\",\"<span class=\\\"formatted\\\" title=\\\"\\\"><span class=\\\"numbers\\\">2</span></span>\",\"<span class=\\\"formatted\\\" title=\\\"\\\"><span class=\\\"numbers\\\">1</span></span>\",\"<span class=\\\"formatted\\\" title=\\\"\\\"><span class=\\\"numbers\\\">14</span></span>\",\"<span class=\\\"formatted\\\" title=\\\"\\\"><span class=\\\"numbers\\\">8</span></span>\",\"<span class=\\\"formatted\\\" title=\\\"\\\"><span class=\\\"numbers\\\">0</span></span>\",\"<span class=\\\"formatted\\\" title=\\\"\\\"><span class=\\\"numbers\\\">23</span></span>\",\"<span class=\\\"formatted\\\" title=\\\"\\\"><span class=\\\"numbers\\\">38</span></span>\",\"<span class=\\\"formatted\\\" title=\\\"\\\"><span class=\\\"numbers\\\">56</span></span>\",\"<span class=\\\"formatted\\\" title=\\\"\\\"><span class=\\\"numbers\\\">7</span></span>\",\"<span class=\\\"formatted\\\" title=\\\"\\\"><span class=\\\"numbers\\\">23</span></span>\",\"<span class=\\\"formatted\\\" title=\\\"\\\"><span class=\\\"numbers\\\">89</span></span>\",\"<span class=\\\"formatted\\\" title=\\\"\\\"><span class=\\\"numbers\\\">25</span></span>\",\"<span class=\\\"formatted\\\" title=\\\"\\\"><span class=\\\"numbers\\\">7</span></span>\",\"<span class=\\\"formatted\\\" title=\\\"\\\"><span class=\\\"numbers\\\">67</span></span>\"] }, \n",
       "], id: -654311385, rootId: -654311385 } ) });\n",
       "/*-->*/\n",
       "\n",
       "call_DataFrame(function() { DataFrame.renderTable(-654311385) });\n",
       "\n",
       "\n",
       "        </script>\n",
       "        </html>"
      ]
     },
     "execution_count": 15,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "val df = jbRepos.mapToFrame { \n",
    "    \"id\" from { id }\n",
    "    +name\n",
    "    \"total\" from  { contributors.count() }\n",
    "    \"community\" from { contributors.filter { it.id !in memberIds }.count() }\n",
    "}\n",
    "df"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 16,
   "metadata": {
    "pycharm": {
     "name": "#%%\n"
    }
   },
   "outputs": [
    {
     "data": {
      "text/html": [
       "   <div id=\"KqNyce\"></div>\n",
       "   <script type=\"text/javascript\" data-lets-plot-script=\"plot\">\n",
       "       (function() {\n",
       "           var plotSpec={\n",
       "\"mapping\":{\n",
       "\"x\":\"x\",\n",
       "\"y\":\"contrib\"\n",
       "},\n",
       "\"ggsize\":{\n",
       "\"width\":1200.0,\n",
       "\"height\":500.0\n",
       "},\n",
       "\"kind\":\"plot\",\n",
       "\"scales\":[],\n",
       "\"layers\":[{\n",
       "\"mapping\":{\n",
       "},\n",
       "\"stat\":\"identity\",\n",
       "\"data\":{\n",
       "\"contrib\":[4.0,20.0,10.0,87.0,1.0,1.0,3.0,1.0,21.0,12.0,1.0,27.0,43.0,100.0,10.0,26.0,100.0,28.0,8.0,100.0,3.0,29.0,19.0,9.0,1.0,10.0,100.0,1.0,8.0,1.0,19.0,4.0,3.0,9.0,1.0,1.0,17.0,18.0,2.0,5.0,7.0,3.0,26.0,37.0,28.0,19.0,4.0,1.0,2.0,5.0,1.0,1.0,7.0,11.0,6.0,17.0,37.0,39.0,7.0,12.0,18.0,1.0,100.0,10.0,7.0,6.0,2.0,11.0,2.0,2.0,8.0,1.0,15.0,100.0,3.0,9.0,1.0,5.0,6.0,5.0,16.0,2.0,3.0,2.0,3.0,3.0,1.0,3.0,10.0,1.0,7.0,11.0,20.0,27.0,3.0,13.0,16.0,8.0,3.0,76.0]\n",
       "},\n",
       "\"position\":\"stack\",\n",
       "\"geom\":\"step\"\n",
       "},{\n",
       "\"mapping\":{\n",
       "},\n",
       "\"stat\":\"identity\",\n",
       "\"data\":{\n",
       "\"contrib\":[0.0,17.0,7.0,78.0,0.0,0.0,2.0,1.0,14.0,8.0,0.0,23.0,38.0,56.0,7.0,23.0,89.0,25.0,7.0,67.0,1.0,22.0,11.0,6.0,1.0,10.0,67.0,0.0,6.0,0.0,10.0,2.0,1.0,5.0,1.0,1.0,8.0,16.0,0.0,3.0,4.0,0.0,21.0,30.0,26.0,18.0,2.0,0.0,1.0,2.0,0.0,0.0,2.0,9.0,5.0,14.0,28.0,36.0,4.0,10.0,11.0,0.0,95.0,7.0,6.0,6.0,2.0,9.0,1.0,1.0,2.0,0.0,9.0,82.0,2.0,9.0,0.0,3.0,2.0,4.0,15.0,1.0,3.0,1.0,2.0,1.0,1.0,2.0,7.0,0.0,4.0,6.0,12.0,22.0,1.0,8.0,11.0,8.0,2.0,75.0]\n",
       "},\n",
       "\"color\":\"dark_green\",\n",
       "\"position\":\"identity\",\n",
       "\"geom\":\"step\"\n",
       "}],\n",
       "\"data\":{\n",
       "\"x\":[\"JPS\",\"YouTrackSharp\",\"colorSchemeTool\",\"ideavim\",\"youtrack-vcs-hooks\",\"youtrack-rest-ruby-library\",\"emacs4ij\",\"codereview4intellij\",\"teamcity-nuget-support\",\"Grammar-Kit\",\"intellij-starteam-plugin\",\"la-clojure\",\"MPS\",\"intellij-community\",\"TeamCity.ServiceMessages\",\"youtrack-rest-python-library\",\"intellij-scala\",\"teamcity-messages\",\"teamcity-cpp\",\"kotlin\",\"teamcity-local-cloud\",\"kotlin-web-demo\",\"intellij-plugin-verifier\",\"intellij-samples\",\"dottrace-demos\",\"youtrack-workflows\",\"intellij-plugins\",\"youtrack-slide\",\"teamcity-shared-resources\",\"resharper-plugins\",\"kannotator\",\"resharper-nuget\",\"mnemonics\",\"teamcity-queue-pauser\",\"intellij-coffee-script-debugger\",\"coffee-script-debug-example\",\"kara\",\"jediterm\",\"hsql1\",\"teamcity-maven-archetypes\",\"resharper-angularjs\",\"intellij-sbt\",\"kotlin-eclipse\",\"commit-status-publisher\",\"ReSharperGallery\",\"mapper\",\"ReTrack\",\"resharper-sample-patterns\",\"dotpeek-nupeek\",\"hackathon-Embeditor\",\"JetBox\",\"hackathon-unchain\",\"intellij-feature-suggester\",\"resharper-rider-samples\",\"dotnet-cas-client\",\"MPS-Contrib\",\"intellij-haxe\",\"meta-runner-power-pack\",\"dekaf\",\"ttorrent-lib\",\"pty4j\",\"clazz-loaderz\",\"Exposed\",\"teamcity-torrent-plugin\",\"NuGetOperations\",\"youtrack-l10n\",\"youtrack.mylyn.connector\",\"python-skeletons\",\"dotpeek-peekfx\",\"resharper-vsix\",\"TeamCity.StaticUIExtensions\",\"Android-Tuts-Samples\",\"sbt-structure\",\"kotlin-web-site\",\"resharper-phantomjs\",\"jetpad-projectional-open-source\",\"intellij-tutorials-december-2013\",\"sbt-tc-logger\",\"tc-sbt-runner\",\"youtrack-confluence-plugin\",\"phpstorm-workshop\",\"Chocolatey\",\"integration-tests-vm-scripts\",\"kotlin-fiddle\",\"TeamCity.PluginTemplate\",\"TeamCity.WidgetsPlugin\",\"dotpeek-console\",\"teamcity-build-agents-diff\",\"teamcity-sdk-maven-plugin\",\"JetPass\",\"teamcity-achievements\",\"teamcity-investigations-auto-assigner\",\"intellij-ipnb\",\"xodus\",\"TeamCity.Widgets\",\"teamcity-vmware-plugin\",\"resharper-devguide\",\"Nitra\",\"teamcity-tests-watchdog\",\"nvd3\"]\n",
       "}\n",
       "};\n",
       "           var plotContainer = document.getElementById(\"KqNyce\");\n",
       "           window.letsPlotCall(function() {{\n",
       "               LetsPlot.buildPlotFromProcessedSpecs(plotSpec, -1, -1, plotContainer);\n",
       "           }});\n",
       "       })();    \n",
       "   </script>"
      ]
     },
     "execution_count": 16,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "letsPlot { \n",
    "    x = df.name.values() \n",
    "    y = \"contrib\"\n",
    "} + ggsize(1200, 500) + geomStep(\n",
    "    data = mapOf(\"contrib\" to df.total.values()),\n",
    "    position = Pos.stack\n",
    ") + geomStep(\n",
    "    data = mapOf(\"contrib\" to df.community.values()),\n",
    "    color = \"dark_green\",\n",
    ")"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "pycharm": {
     "name": "#%% md\n"
    }
   },
   "source": [
    "3. **What is the most starred project?** Naturally, as our dataframe has only one row, we can find it out like this"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 17,
   "metadata": {
    "pycharm": {
     "name": "#%%\n"
    }
   },
   "outputs": [
    {
     "data": {
      "text/html": [
       "        <html>\n",
       "        <head>\n",
       "            <style type=\"text/css\">\n",
       "                \n",
       "\n",
       "            </style>\n",
       "        </head>\n",
       "        <body>\n",
       "            <table class=\"dataframe\" id=\"df_-654311384\"/>\n",
       "\n",
       "<p>DataRow [37]</p>\n",
       "        </body>\n",
       "        <script>\n",
       "            /*<!--*/\n",
       "call_DataFrame(function() { DataFrame.addTable({ cols: [{ name: \"<span title=\\\"id: Int\\\">id</span>\", children: [], rightAlign: true, values: [\"<span class=\\\"formatted\\\" title=\\\"\\\"><span class=\\\"numbers\\\">3432266</span></span>\"] }, \n",
       "{ name: \"<span title=\\\"node_id: String\\\">node_id</span>\", children: [], rightAlign: false, values: [\"MDEwOlJlcG9zaXRvcnkzNDMyMjY2\"] }, \n",
       "{ name: \"<span title=\\\"name: String\\\">name</span>\", children: [], rightAlign: false, values: [\"kotlin\"] }, \n",
       "{ name: \"<span title=\\\"full_name: String\\\">full_name</span>\", children: [], rightAlign: false, values: [\"JetBrains/kotlin\"] }, \n",
       "{ name: \"<span title=\\\"private: Boolean\\\">private</span>\", children: [], rightAlign: false, values: [\"false\"] }, \n",
       "{ name: \"<span title=\\\"html_url: URL\\\">html_url</span>\", children: [], rightAlign: false, values: [\"<a href='https://github.com/JetBrains/kotlin' target='_blank'>https://github.com/JetBrains/kotlin</a>\"] }, \n",
       "{ name: \"<span title=\\\"description: String\\\">description</span>\", children: [], rightAlign: false, values: [\"The Kotlin Programming Language. \"] }, \n",
       "{ name: \"<span title=\\\"fork: Boolean\\\">fork</span>\", children: [], rightAlign: false, values: [\"false\"] }, \n",
       "{ name: \"<span title=\\\"url: URL\\\">url</span>\", children: [], rightAlign: false, values: [\"<span class=\\\"formatted\\\" title=\\\"https://api.github.com/repos/JetBrains/kotlin\\\"><a href='https://api.github.com/repos/JetBrains/kotlin' target='_blank'>https://api.github.com/repos/JetBrain<span class=\\\"structural\\\">...</span></a></span>\"] }, \n",
       "{ name: \"<span title=\\\"created_at: String\\\">created_at</span>\", children: [], rightAlign: false, values: [\"2012-02-13T17:29:58Z\"] }, \n",
       "{ name: \"<span title=\\\"updated_at: String\\\">updated_at</span>\", children: [], rightAlign: false, values: [\"2021-11-25T10:55:55Z\"] }, \n",
       "{ name: \"<span title=\\\"pushed_at: String\\\">pushed_at</span>\", children: [], rightAlign: false, values: [\"2021-11-25T10:54:01Z\"] }, \n",
       "{ name: \"<span title=\\\"homepage: String\\\">homepage</span>\", children: [], rightAlign: false, values: [\"https://kotlinlang.org\"] }, \n",
       "{ name: \"<span title=\\\"size: Int\\\">size</span>\", children: [], rightAlign: true, values: [\"<span class=\\\"formatted\\\" title=\\\"\\\"><span class=\\\"numbers\\\">1292704</span></span>\"] }, \n",
       "{ name: \"<span title=\\\"stargazers_count: Int\\\">stargazers_count</span>\", children: [], rightAlign: true, values: [\"<span class=\\\"formatted\\\" title=\\\"\\\"><span class=\\\"numbers\\\">39402</span></span>\"] }, \n",
       "{ name: \"<span title=\\\"watchers_count: Int\\\">watchers_count</span>\", children: [], rightAlign: true, values: [\"<span class=\\\"formatted\\\" title=\\\"\\\"><span class=\\\"numbers\\\">39402</span></span>\"] }, \n",
       "{ name: \"<span title=\\\"language: String\\\">language</span>\", children: [], rightAlign: false, values: [\"Kotlin\"] }, \n",
       "{ name: \"<span title=\\\"has_issues: Boolean\\\">has_issues</span>\", children: [], rightAlign: false, values: [\"false\"] }, \n",
       "{ name: \"<span title=\\\"has_projects: Boolean\\\">has_projects</span>\", children: [], rightAlign: false, values: [\"false\"] }, \n",
       "{ name: \"<span title=\\\"has_downloads: Boolean\\\">has_downloads</span>\", children: [], rightAlign: false, values: [\"true\"] }, \n",
       "{ name: \"<span title=\\\"has_wiki: Boolean\\\">has_wiki</span>\", children: [], rightAlign: false, values: [\"false\"] }, \n",
       "{ name: \"<span title=\\\"has_pages: Boolean\\\">has_pages</span>\", children: [], rightAlign: false, values: [\"false\"] }, \n",
       "{ name: \"<span title=\\\"forks_count: Int\\\">forks_count</span>\", children: [], rightAlign: true, values: [\"<span class=\\\"formatted\\\" title=\\\"\\\"><span class=\\\"numbers\\\">4824</span></span>\"] }, \n",
       "{ name: \"<span title=\\\"archived: Boolean\\\">archived</span>\", children: [], rightAlign: false, values: [\"false\"] }, \n",
       "{ name: \"<span title=\\\"disabled: Boolean\\\">disabled</span>\", children: [], rightAlign: false, values: [\"false\"] }, \n",
       "{ name: \"<span title=\\\"open_issues_count: Int\\\">open_issues_count</span>\", children: [], rightAlign: true, values: [\"<span class=\\\"formatted\\\" title=\\\"\\\"><span class=\\\"numbers\\\">125</span></span>\"] }, \n",
       "{ name: \"<span title=\\\"allow_forking: Boolean\\\">allow_forking</span>\", children: [], rightAlign: false, values: [\"true\"] }, \n",
       "{ name: \"<span title=\\\"is_template: Boolean\\\">is_template</span>\", children: [], rightAlign: false, values: [\"false\"] }, \n",
       "{ name: \"<span title=\\\"topics: String\\\">topics</span>\", children: [], rightAlign: false, values: [\"<span class=\\\"formatted\\\" title=\\\"[compiler, gradle-plugin, intellij-plugin, kotlin, kotlin-library, maven-plugin, programming-language]\\\">[compiler, gradle-plugin, intellij-pl<span class=\\\"structural\\\">...</span></span>\"] }, \n",
       "{ name: \"<span title=\\\"visibility: String\\\">visibility</span>\", children: [], rightAlign: false, values: [\"public\"] }, \n",
       "{ name: \"<span title=\\\"forks: Int\\\">forks</span>\", children: [], rightAlign: true, values: [\"<span class=\\\"formatted\\\" title=\\\"\\\"><span class=\\\"numbers\\\">4824</span></span>\"] }, \n",
       "{ name: \"<span title=\\\"open_issues: Int\\\">open_issues</span>\", children: [], rightAlign: true, values: [\"<span class=\\\"formatted\\\" title=\\\"\\\"><span class=\\\"numbers\\\">125</span></span>\"] }, \n",
       "{ name: \"<span title=\\\"watchers: Int\\\">watchers</span>\", children: [], rightAlign: true, values: [\"<span class=\\\"formatted\\\" title=\\\"\\\"><span class=\\\"numbers\\\">39402</span></span>\"] }, \n",
       "{ name: \"<span title=\\\"default_branch: String\\\">default_branch</span>\", children: [], rightAlign: false, values: [\"master\"] }, \n",
       "{ name: \"<span title=\\\"admin: Boolean\\\">admin</span>\", children: [], rightAlign: false, values: [\"false\"] }, \n",
       "{ name: \"<span title=\\\"maintain: Boolean\\\">maintain</span>\", children: [], rightAlign: false, values: [\"false\"] }, \n",
       "{ name: \"<span title=\\\"push: Boolean\\\">push</span>\", children: [], rightAlign: false, values: [\"false\"] }, \n",
       "{ name: \"<span title=\\\"triage: Boolean\\\">triage</span>\", children: [], rightAlign: false, values: [\"false\"] }, \n",
       "{ name: \"<span title=\\\"pull: Boolean\\\">pull</span>\", children: [], rightAlign: false, values: [\"true\"] }, \n",
       "{ name: \"<span title=\\\"permissions: DataRow\\\">permissions</span>\", children: [34, 35, 36, 37, 38], rightAlign: false, values: [\"<span class=\\\"formatted\\\" title=\\\"admin: false\\nmaintain: false\\npush: false\\ntriage: false\\npull: true\\\"><span class=\\\"structural\\\">{ </span><span class=\\\"structural\\\">admin: </span>false<span class=\\\"structural\\\">, </span><span class=\\\"structural\\\">maintain: </span>false<span class=\\\"structural\\\">, </span><span class=\\\"structural\\\">...</span><span class=\\\"structural\\\"> }</span></span>\"] }, \n",
       "{ name: \"<span title=\\\"contributors: DataFrame\\\">contributors</span>\", children: [], rightAlign: false, values: [{ frameId: -654311383, value: \"<b>DataFrame 100 x 8</b>\" }] }, \n",
       "{ name: \"<span title=\\\"key: String?\\\">key</span>\", children: [], rightAlign: false, values: [\"<span class=\\\"formatted\\\" title=\\\"\\\"><span class=\\\"null\\\">null</span></span>\"] }, \n",
       "{ name: \"<span title=\\\"name: String?\\\">name</span>\", children: [], rightAlign: false, values: [\"<span class=\\\"formatted\\\" title=\\\"\\\"><span class=\\\"null\\\">null</span></span>\"] }, \n",
       "{ name: \"<span title=\\\"spdx_id: String?\\\">spdx_id</span>\", children: [], rightAlign: false, values: [\"<span class=\\\"formatted\\\" title=\\\"\\\"><span class=\\\"null\\\">null</span></span>\"] }, \n",
       "{ name: \"<span title=\\\"url: URL?\\\">url</span>\", children: [], rightAlign: false, values: [\"<span class=\\\"formatted\\\" title=\\\"\\\"><span class=\\\"null\\\">null</span></span>\"] }, \n",
       "{ name: \"<span title=\\\"node_id: String?\\\">node_id</span>\", children: [], rightAlign: false, values: [\"<span class=\\\"formatted\\\" title=\\\"\\\"><span class=\\\"null\\\">null</span></span>\"] }, \n",
       "{ name: \"<span title=\\\"license: DataRow\\\">license</span>\", children: [41, 42, 43, 44, 45], rightAlign: false, values: [\"<span class=\\\"formatted\\\" title=\\\"\\\"><span class=\\\"null\\\">{ }</span></span>\"] }, \n",
       "], id: -654311384, rootId: -654311384 } ) });\n",
       "/*-->*/\n",
       "\n",
       "/*<!--*/\n",
       "call_DataFrame(function() { DataFrame.addTable({ cols: [{ name: \"<span title=\\\"login: String\\\">login</span>\", children: [], rightAlign: false, values: [\"udalov\",\"mglukhikh\",\"goodwinnk\",\"valentinkip\",\"abreslav\"] }, \n",
       "{ name: \"<span title=\\\"id: Int\\\">id</span>\", children: [], rightAlign: true, values: [\"<span class=\\\"formatted\\\" title=\\\"\\\"><span class=\\\"numbers\\\">292714</span></span>\",\"<span class=\\\"formatted\\\" title=\\\"\\\"><span class=\\\"numbers\\\">1127631</span></span>\",\"<span class=\\\"formatted\\\" title=\\\"\\\"><span class=\\\"numbers\\\">908958</span></span>\",\"<span class=\\\"formatted\\\" title=\\\"\\\"><span class=\\\"numbers\\\">3007027</span></span>\",\"<span class=\\\"formatted\\\" title=\\\"\\\"><span class=\\\"numbers\\\">888318</span></span>\"] }, \n",
       "{ name: \"<span title=\\\"node_id: String\\\">node_id</span>\", children: [], rightAlign: false, values: [\"MDQ6VXNlcjI5MjcxNA==\",\"MDQ6VXNlcjExMjc2MzE=\",\"MDQ6VXNlcjkwODk1OA==\",\"MDQ6VXNlcjMwMDcwMjc=\",\"MDQ6VXNlcjg4ODMxOA==\"] }, \n",
       "{ name: \"<span title=\\\"gravatar_id: String\\\">gravatar_id</span>\", children: [], rightAlign: false, values: [\"\",\"\",\"\",\"\",\"\"] }, \n",
       "{ name: \"<span title=\\\"url: URL\\\">url</span>\", children: [], rightAlign: false, values: [\"<a href='https://api.github.com/users/udalov' target='_blank'>https://api.github.com/users/udalov</a>\",\"<a href='https://api.github.com/users/mglukhikh' target='_blank'>https://api.github.com/users/mglukhikh</a>\",\"<a href='https://api.github.com/users/goodwinnk' target='_blank'>https://api.github.com/users/goodwinnk</a>\",\"<a href='https://api.github.com/users/valentinkip' target='_blank'>https://api.github.com/users/valentinkip</a>\",\"<a href='https://api.github.com/users/abreslav' target='_blank'>https://api.github.com/users/abreslav</a>\"] }, \n",
       "{ name: \"<span title=\\\"type: String\\\">type</span>\", children: [], rightAlign: false, values: [\"User\",\"User\",\"User\",\"User\",\"User\"] }, \n",
       "{ name: \"<span title=\\\"site_admin: Boolean\\\">site_admin</span>\", children: [], rightAlign: false, values: [\"false\",\"false\",\"false\",\"false\",\"false\"] }, \n",
       "{ name: \"<span title=\\\"contributions: Int\\\">contributions</span>\", children: [], rightAlign: true, values: [\"<span class=\\\"formatted\\\" title=\\\"\\\"><span class=\\\"numbers\\\">5630</span></span>\",\"<span class=\\\"formatted\\\" title=\\\"\\\"><span class=\\\"numbers\\\">4015</span></span>\",\"<span class=\\\"formatted\\\" title=\\\"\\\"><span class=\\\"numbers\\\">3925</span></span>\",\"<span class=\\\"formatted\\\" title=\\\"\\\"><span class=\\\"numbers\\\">3069</span></span>\",\"<span class=\\\"formatted\\\" title=\\\"\\\"><span class=\\\"numbers\\\">2862</span></span>\"] }, \n",
       "], id: -654311383, rootId: -654311384 } ) });\n",
       "/*-->*/\n",
       "\n",
       "call_DataFrame(function() { DataFrame.renderTable(-654311384) });\n",
       "\n",
       "\n",
       "        </script>\n",
       "        </html>"
      ]
     },
     "execution_count": 17,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "jbRepos.maxBy { stargazers_count }"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "pycharm": {
     "name": "#%% md\n"
    }
   },
   "source": [
    "But usually dataframe has several rows. With dataframe, you can work with hierarchical data structures as a whole, if you need to. Let's use `map` to find a repository with the most stars for each row in the `jb` dataframe. The result of `map` is a data column `most_starred_repo`. "
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 18,
   "metadata": {
    "pycharm": {
     "name": "#%%\n"
    }
   },
   "outputs": [
    {
     "data": {
      "text/html": [
       "        <html>\n",
       "        <head>\n",
       "            <style type=\"text/css\">\n",
       "                \n",
       "\n",
       "            </style>\n",
       "        </head>\n",
       "        <body>\n",
       "            <table class=\"dataframe\" id=\"df_-654311382\"/>\n",
       "\n",
       "<p>DataFrame [1 x 37]</p>\n",
       "        </body>\n",
       "        <script>\n",
       "            /*<!--*/\n",
       "call_DataFrame(function() { DataFrame.addTable({ cols: [{ name: \"<span title=\\\"id: Int\\\">id</span>\", children: [], rightAlign: true, values: [\"<span class=\\\"formatted\\\" title=\\\"\\\"><span class=\\\"numbers\\\">3432266</span></span>\"] }, \n",
       "{ name: \"<span title=\\\"node_id: String\\\">node_id</span>\", children: [], rightAlign: false, values: [\"MDEwOlJlcG9zaXRvcnkzNDMyMjY2\"] }, \n",
       "{ name: \"<span title=\\\"name: String\\\">name</span>\", children: [], rightAlign: false, values: [\"kotlin\"] }, \n",
       "{ name: \"<span title=\\\"full_name: String\\\">full_name</span>\", children: [], rightAlign: false, values: [\"JetBrains/kotlin\"] }, \n",
       "{ name: \"<span title=\\\"private: Boolean\\\">private</span>\", children: [], rightAlign: false, values: [\"false\"] }, \n",
       "{ name: \"<span title=\\\"html_url: URL\\\">html_url</span>\", children: [], rightAlign: false, values: [\"<a href='https://github.com/JetBrains/kotlin' target='_blank'>https://github.com/JetBrains/kotlin</a>\"] }, \n",
       "{ name: \"<span title=\\\"description: String\\\">description</span>\", children: [], rightAlign: false, values: [\"The Kotlin Programming Language. \"] }, \n",
       "{ name: \"<span title=\\\"fork: Boolean\\\">fork</span>\", children: [], rightAlign: false, values: [\"false\"] }, \n",
       "{ name: \"<span title=\\\"url: URL\\\">url</span>\", children: [], rightAlign: false, values: [\"<span class=\\\"formatted\\\" title=\\\"https://api.github.com/repos/JetBrains/kotlin\\\"><a href='https://api.github.com/repos/JetBrains/kotlin' target='_blank'>https://api.github.com/repos/JetBrain<span class=\\\"structural\\\">...</span></a></span>\"] }, \n",
       "{ name: \"<span title=\\\"created_at: String\\\">created_at</span>\", children: [], rightAlign: false, values: [\"2012-02-13T17:29:58Z\"] }, \n",
       "{ name: \"<span title=\\\"updated_at: String\\\">updated_at</span>\", children: [], rightAlign: false, values: [\"2021-11-25T10:55:55Z\"] }, \n",
       "{ name: \"<span title=\\\"pushed_at: String\\\">pushed_at</span>\", children: [], rightAlign: false, values: [\"2021-11-25T10:54:01Z\"] }, \n",
       "{ name: \"<span title=\\\"homepage: String\\\">homepage</span>\", children: [], rightAlign: false, values: [\"https://kotlinlang.org\"] }, \n",
       "{ name: \"<span title=\\\"size: Int\\\">size</span>\", children: [], rightAlign: true, values: [\"<span class=\\\"formatted\\\" title=\\\"\\\"><span class=\\\"numbers\\\">1292704</span></span>\"] }, \n",
       "{ name: \"<span title=\\\"stargazers_count: Int\\\">stargazers_count</span>\", children: [], rightAlign: true, values: [\"<span class=\\\"formatted\\\" title=\\\"\\\"><span class=\\\"numbers\\\">39402</span></span>\"] }, \n",
       "{ name: \"<span title=\\\"watchers_count: Int\\\">watchers_count</span>\", children: [], rightAlign: true, values: [\"<span class=\\\"formatted\\\" title=\\\"\\\"><span class=\\\"numbers\\\">39402</span></span>\"] }, \n",
       "{ name: \"<span title=\\\"language: String\\\">language</span>\", children: [], rightAlign: false, values: [\"Kotlin\"] }, \n",
       "{ name: \"<span title=\\\"has_issues: Boolean\\\">has_issues</span>\", children: [], rightAlign: false, values: [\"false\"] }, \n",
       "{ name: \"<span title=\\\"has_projects: Boolean\\\">has_projects</span>\", children: [], rightAlign: false, values: [\"false\"] }, \n",
       "{ name: \"<span title=\\\"has_downloads: Boolean\\\">has_downloads</span>\", children: [], rightAlign: false, values: [\"true\"] }, \n",
       "{ name: \"<span title=\\\"has_wiki: Boolean\\\">has_wiki</span>\", children: [], rightAlign: false, values: [\"false\"] }, \n",
       "{ name: \"<span title=\\\"has_pages: Boolean\\\">has_pages</span>\", children: [], rightAlign: false, values: [\"false\"] }, \n",
       "{ name: \"<span title=\\\"forks_count: Int\\\">forks_count</span>\", children: [], rightAlign: true, values: [\"<span class=\\\"formatted\\\" title=\\\"\\\"><span class=\\\"numbers\\\">4824</span></span>\"] }, \n",
       "{ name: \"<span title=\\\"archived: Boolean\\\">archived</span>\", children: [], rightAlign: false, values: [\"false\"] }, \n",
       "{ name: \"<span title=\\\"disabled: Boolean\\\">disabled</span>\", children: [], rightAlign: false, values: [\"false\"] }, \n",
       "{ name: \"<span title=\\\"open_issues_count: Int\\\">open_issues_count</span>\", children: [], rightAlign: true, values: [\"<span class=\\\"formatted\\\" title=\\\"\\\"><span class=\\\"numbers\\\">125</span></span>\"] }, \n",
       "{ name: \"<span title=\\\"allow_forking: Boolean\\\">allow_forking</span>\", children: [], rightAlign: false, values: [\"true\"] }, \n",
       "{ name: \"<span title=\\\"is_template: Boolean\\\">is_template</span>\", children: [], rightAlign: false, values: [\"false\"] }, \n",
       "{ name: \"<span title=\\\"topics: String\\\">topics</span>\", children: [], rightAlign: false, values: [\"<span class=\\\"formatted\\\" title=\\\"[compiler, gradle-plugin, intellij-plugin, kotlin, kotlin-library, maven-plugin, programming-language]\\\">[compiler, gradle-plugin, intellij-pl<span class=\\\"structural\\\">...</span></span>\"] }, \n",
       "{ name: \"<span title=\\\"visibility: String\\\">visibility</span>\", children: [], rightAlign: false, values: [\"public\"] }, \n",
       "{ name: \"<span title=\\\"forks: Int\\\">forks</span>\", children: [], rightAlign: true, values: [\"<span class=\\\"formatted\\\" title=\\\"\\\"><span class=\\\"numbers\\\">4824</span></span>\"] }, \n",
       "{ name: \"<span title=\\\"open_issues: Int\\\">open_issues</span>\", children: [], rightAlign: true, values: [\"<span class=\\\"formatted\\\" title=\\\"\\\"><span class=\\\"numbers\\\">125</span></span>\"] }, \n",
       "{ name: \"<span title=\\\"watchers: Int\\\">watchers</span>\", children: [], rightAlign: true, values: [\"<span class=\\\"formatted\\\" title=\\\"\\\"><span class=\\\"numbers\\\">39402</span></span>\"] }, \n",
       "{ name: \"<span title=\\\"default_branch: String\\\">default_branch</span>\", children: [], rightAlign: false, values: [\"master\"] }, \n",
       "{ name: \"<span title=\\\"admin: Boolean\\\">admin</span>\", children: [], rightAlign: false, values: [\"false\"] }, \n",
       "{ name: \"<span title=\\\"maintain: Boolean\\\">maintain</span>\", children: [], rightAlign: false, values: [\"false\"] }, \n",
       "{ name: \"<span title=\\\"push: Boolean\\\">push</span>\", children: [], rightAlign: false, values: [\"false\"] }, \n",
       "{ name: \"<span title=\\\"triage: Boolean\\\">triage</span>\", children: [], rightAlign: false, values: [\"false\"] }, \n",
       "{ name: \"<span title=\\\"pull: Boolean\\\">pull</span>\", children: [], rightAlign: false, values: [\"true\"] }, \n",
       "{ name: \"<span title=\\\"permissions: DataRow\\\">permissions</span>\", children: [34, 35, 36, 37, 38], rightAlign: false, values: [\"<span class=\\\"formatted\\\" title=\\\"admin: false\\nmaintain: false\\npush: false\\ntriage: false\\npull: true\\\"><span class=\\\"structural\\\">{ </span><span class=\\\"structural\\\">admin: </span>false<span class=\\\"structural\\\">, </span><span class=\\\"structural\\\">maintain: </span>false<span class=\\\"structural\\\">, </span><span class=\\\"structural\\\">...</span><span class=\\\"structural\\\"> }</span></span>\"] }, \n",
       "{ name: \"<span title=\\\"contributors: DataFrame\\\">contributors</span>\", children: [], rightAlign: false, values: [{ frameId: -654311381, value: \"<b>DataFrame 100 x 8</b>\" }] }, \n",
       "{ name: \"<span title=\\\"key: String?\\\">key</span>\", children: [], rightAlign: false, values: [\"<span class=\\\"formatted\\\" title=\\\"\\\"><span class=\\\"null\\\">null</span></span>\"] }, \n",
       "{ name: \"<span title=\\\"name: String?\\\">name</span>\", children: [], rightAlign: false, values: [\"<span class=\\\"formatted\\\" title=\\\"\\\"><span class=\\\"null\\\">null</span></span>\"] }, \n",
       "{ name: \"<span title=\\\"spdx_id: String?\\\">spdx_id</span>\", children: [], rightAlign: false, values: [\"<span class=\\\"formatted\\\" title=\\\"\\\"><span class=\\\"null\\\">null</span></span>\"] }, \n",
       "{ name: \"<span title=\\\"url: URL?\\\">url</span>\", children: [], rightAlign: false, values: [\"<span class=\\\"formatted\\\" title=\\\"\\\"><span class=\\\"null\\\">null</span></span>\"] }, \n",
       "{ name: \"<span title=\\\"node_id: String?\\\">node_id</span>\", children: [], rightAlign: false, values: [\"<span class=\\\"formatted\\\" title=\\\"\\\"><span class=\\\"null\\\">null</span></span>\"] }, \n",
       "{ name: \"<span title=\\\"license: DataRow\\\">license</span>\", children: [41, 42, 43, 44, 45], rightAlign: false, values: [\"<span class=\\\"formatted\\\" title=\\\"\\\"><span class=\\\"null\\\">{ }</span></span>\"] }, \n",
       "], id: -654311382, rootId: -654311382 } ) });\n",
       "/*-->*/\n",
       "\n",
       "/*<!--*/\n",
       "call_DataFrame(function() { DataFrame.addTable({ cols: [{ name: \"<span title=\\\"login: String\\\">login</span>\", children: [], rightAlign: false, values: [\"udalov\",\"mglukhikh\",\"goodwinnk\",\"valentinkip\",\"abreslav\"] }, \n",
       "{ name: \"<span title=\\\"id: Int\\\">id</span>\", children: [], rightAlign: true, values: [\"<span class=\\\"formatted\\\" title=\\\"\\\"><span class=\\\"numbers\\\">292714</span></span>\",\"<span class=\\\"formatted\\\" title=\\\"\\\"><span class=\\\"numbers\\\">1127631</span></span>\",\"<span class=\\\"formatted\\\" title=\\\"\\\"><span class=\\\"numbers\\\">908958</span></span>\",\"<span class=\\\"formatted\\\" title=\\\"\\\"><span class=\\\"numbers\\\">3007027</span></span>\",\"<span class=\\\"formatted\\\" title=\\\"\\\"><span class=\\\"numbers\\\">888318</span></span>\"] }, \n",
       "{ name: \"<span title=\\\"node_id: String\\\">node_id</span>\", children: [], rightAlign: false, values: [\"MDQ6VXNlcjI5MjcxNA==\",\"MDQ6VXNlcjExMjc2MzE=\",\"MDQ6VXNlcjkwODk1OA==\",\"MDQ6VXNlcjMwMDcwMjc=\",\"MDQ6VXNlcjg4ODMxOA==\"] }, \n",
       "{ name: \"<span title=\\\"gravatar_id: String\\\">gravatar_id</span>\", children: [], rightAlign: false, values: [\"\",\"\",\"\",\"\",\"\"] }, \n",
       "{ name: \"<span title=\\\"url: URL\\\">url</span>\", children: [], rightAlign: false, values: [\"<a href='https://api.github.com/users/udalov' target='_blank'>https://api.github.com/users/udalov</a>\",\"<a href='https://api.github.com/users/mglukhikh' target='_blank'>https://api.github.com/users/mglukhikh</a>\",\"<a href='https://api.github.com/users/goodwinnk' target='_blank'>https://api.github.com/users/goodwinnk</a>\",\"<a href='https://api.github.com/users/valentinkip' target='_blank'>https://api.github.com/users/valentinkip</a>\",\"<a href='https://api.github.com/users/abreslav' target='_blank'>https://api.github.com/users/abreslav</a>\"] }, \n",
       "{ name: \"<span title=\\\"type: String\\\">type</span>\", children: [], rightAlign: false, values: [\"User\",\"User\",\"User\",\"User\",\"User\"] }, \n",
       "{ name: \"<span title=\\\"site_admin: Boolean\\\">site_admin</span>\", children: [], rightAlign: false, values: [\"false\",\"false\",\"false\",\"false\",\"false\"] }, \n",
       "{ name: \"<span title=\\\"contributions: Int\\\">contributions</span>\", children: [], rightAlign: true, values: [\"<span class=\\\"formatted\\\" title=\\\"\\\"><span class=\\\"numbers\\\">5630</span></span>\",\"<span class=\\\"formatted\\\" title=\\\"\\\"><span class=\\\"numbers\\\">4015</span></span>\",\"<span class=\\\"formatted\\\" title=\\\"\\\"><span class=\\\"numbers\\\">3925</span></span>\",\"<span class=\\\"formatted\\\" title=\\\"\\\"><span class=\\\"numbers\\\">3069</span></span>\",\"<span class=\\\"formatted\\\" title=\\\"\\\"><span class=\\\"numbers\\\">2862</span></span>\"] }, \n",
       "], id: -654311381, rootId: -654311382 } ) });\n",
       "/*-->*/\n",
       "\n",
       "call_DataFrame(function() { DataFrame.renderTable(-654311382) });\n",
       "\n",
       "\n",
       "        </script>\n",
       "        </html>"
      ]
     },
     "execution_count": 18,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "organizations.mapToColumn(\"most_starred_repo\") {\n",
    "    it.repos.maxBy { stargazers_count }\n",
    "}"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "pycharm": {
     "name": "#%% md\n"
    }
   },
   "source": [
    "Expressions inside map, a row expression (docs), enable two different syntax to refer to data. **You can write `this.repos`, `it.repos` or just `repos`. It's all the same, but let's use shorter syntax from now on.**"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 19,
   "metadata": {
    "pycharm": {
     "name": "#%%\n"
    }
   },
   "outputs": [
    {
     "data": {
      "text/html": [
       "        <html>\n",
       "        <head>\n",
       "            <style type=\"text/css\">\n",
       "                \n",
       "\n",
       "            </style>\n",
       "        </head>\n",
       "        <body>\n",
       "            <table class=\"dataframe\" id=\"df_-654311380\"/>\n",
       "\n",
       "<p>DataFrame [1 x 37]</p>\n",
       "        </body>\n",
       "        <script>\n",
       "            /*<!--*/\n",
       "call_DataFrame(function() { DataFrame.addTable({ cols: [{ name: \"<span title=\\\"id: Int\\\">id</span>\", children: [], rightAlign: true, values: [\"<span class=\\\"formatted\\\" title=\\\"\\\"><span class=\\\"numbers\\\">3432266</span></span>\"] }, \n",
       "{ name: \"<span title=\\\"node_id: String\\\">node_id</span>\", children: [], rightAlign: false, values: [\"MDEwOlJlcG9zaXRvcnkzNDMyMjY2\"] }, \n",
       "{ name: \"<span title=\\\"name: String\\\">name</span>\", children: [], rightAlign: false, values: [\"kotlin\"] }, \n",
       "{ name: \"<span title=\\\"full_name: String\\\">full_name</span>\", children: [], rightAlign: false, values: [\"JetBrains/kotlin\"] }, \n",
       "{ name: \"<span title=\\\"private: Boolean\\\">private</span>\", children: [], rightAlign: false, values: [\"false\"] }, \n",
       "{ name: \"<span title=\\\"html_url: URL\\\">html_url</span>\", children: [], rightAlign: false, values: [\"<a href='https://github.com/JetBrains/kotlin' target='_blank'>https://github.com/JetBrains/kotlin</a>\"] }, \n",
       "{ name: \"<span title=\\\"description: String\\\">description</span>\", children: [], rightAlign: false, values: [\"The Kotlin Programming Language. \"] }, \n",
       "{ name: \"<span title=\\\"fork: Boolean\\\">fork</span>\", children: [], rightAlign: false, values: [\"false\"] }, \n",
       "{ name: \"<span title=\\\"url: URL\\\">url</span>\", children: [], rightAlign: false, values: [\"<span class=\\\"formatted\\\" title=\\\"https://api.github.com/repos/JetBrains/kotlin\\\"><a href='https://api.github.com/repos/JetBrains/kotlin' target='_blank'>https://api.github.com/repos/JetBrain<span class=\\\"structural\\\">...</span></a></span>\"] }, \n",
       "{ name: \"<span title=\\\"created_at: String\\\">created_at</span>\", children: [], rightAlign: false, values: [\"2012-02-13T17:29:58Z\"] }, \n",
       "{ name: \"<span title=\\\"updated_at: String\\\">updated_at</span>\", children: [], rightAlign: false, values: [\"2021-11-25T10:55:55Z\"] }, \n",
       "{ name: \"<span title=\\\"pushed_at: String\\\">pushed_at</span>\", children: [], rightAlign: false, values: [\"2021-11-25T10:54:01Z\"] }, \n",
       "{ name: \"<span title=\\\"homepage: String\\\">homepage</span>\", children: [], rightAlign: false, values: [\"https://kotlinlang.org\"] }, \n",
       "{ name: \"<span title=\\\"size: Int\\\">size</span>\", children: [], rightAlign: true, values: [\"<span class=\\\"formatted\\\" title=\\\"\\\"><span class=\\\"numbers\\\">1292704</span></span>\"] }, \n",
       "{ name: \"<span title=\\\"stargazers_count: Int\\\">stargazers_count</span>\", children: [], rightAlign: true, values: [\"<span class=\\\"formatted\\\" title=\\\"\\\"><span class=\\\"numbers\\\">39402</span></span>\"] }, \n",
       "{ name: \"<span title=\\\"watchers_count: Int\\\">watchers_count</span>\", children: [], rightAlign: true, values: [\"<span class=\\\"formatted\\\" title=\\\"\\\"><span class=\\\"numbers\\\">39402</span></span>\"] }, \n",
       "{ name: \"<span title=\\\"language: String\\\">language</span>\", children: [], rightAlign: false, values: [\"Kotlin\"] }, \n",
       "{ name: \"<span title=\\\"has_issues: Boolean\\\">has_issues</span>\", children: [], rightAlign: false, values: [\"false\"] }, \n",
       "{ name: \"<span title=\\\"has_projects: Boolean\\\">has_projects</span>\", children: [], rightAlign: false, values: [\"false\"] }, \n",
       "{ name: \"<span title=\\\"has_downloads: Boolean\\\">has_downloads</span>\", children: [], rightAlign: false, values: [\"true\"] }, \n",
       "{ name: \"<span title=\\\"has_wiki: Boolean\\\">has_wiki</span>\", children: [], rightAlign: false, values: [\"false\"] }, \n",
       "{ name: \"<span title=\\\"has_pages: Boolean\\\">has_pages</span>\", children: [], rightAlign: false, values: [\"false\"] }, \n",
       "{ name: \"<span title=\\\"forks_count: Int\\\">forks_count</span>\", children: [], rightAlign: true, values: [\"<span class=\\\"formatted\\\" title=\\\"\\\"><span class=\\\"numbers\\\">4824</span></span>\"] }, \n",
       "{ name: \"<span title=\\\"archived: Boolean\\\">archived</span>\", children: [], rightAlign: false, values: [\"false\"] }, \n",
       "{ name: \"<span title=\\\"disabled: Boolean\\\">disabled</span>\", children: [], rightAlign: false, values: [\"false\"] }, \n",
       "{ name: \"<span title=\\\"open_issues_count: Int\\\">open_issues_count</span>\", children: [], rightAlign: true, values: [\"<span class=\\\"formatted\\\" title=\\\"\\\"><span class=\\\"numbers\\\">125</span></span>\"] }, \n",
       "{ name: \"<span title=\\\"allow_forking: Boolean\\\">allow_forking</span>\", children: [], rightAlign: false, values: [\"true\"] }, \n",
       "{ name: \"<span title=\\\"is_template: Boolean\\\">is_template</span>\", children: [], rightAlign: false, values: [\"false\"] }, \n",
       "{ name: \"<span title=\\\"topics: String\\\">topics</span>\", children: [], rightAlign: false, values: [\"<span class=\\\"formatted\\\" title=\\\"[compiler, gradle-plugin, intellij-plugin, kotlin, kotlin-library, maven-plugin, programming-language]\\\">[compiler, gradle-plugin, intellij-pl<span class=\\\"structural\\\">...</span></span>\"] }, \n",
       "{ name: \"<span title=\\\"visibility: String\\\">visibility</span>\", children: [], rightAlign: false, values: [\"public\"] }, \n",
       "{ name: \"<span title=\\\"forks: Int\\\">forks</span>\", children: [], rightAlign: true, values: [\"<span class=\\\"formatted\\\" title=\\\"\\\"><span class=\\\"numbers\\\">4824</span></span>\"] }, \n",
       "{ name: \"<span title=\\\"open_issues: Int\\\">open_issues</span>\", children: [], rightAlign: true, values: [\"<span class=\\\"formatted\\\" title=\\\"\\\"><span class=\\\"numbers\\\">125</span></span>\"] }, \n",
       "{ name: \"<span title=\\\"watchers: Int\\\">watchers</span>\", children: [], rightAlign: true, values: [\"<span class=\\\"formatted\\\" title=\\\"\\\"><span class=\\\"numbers\\\">39402</span></span>\"] }, \n",
       "{ name: \"<span title=\\\"default_branch: String\\\">default_branch</span>\", children: [], rightAlign: false, values: [\"master\"] }, \n",
       "{ name: \"<span title=\\\"admin: Boolean\\\">admin</span>\", children: [], rightAlign: false, values: [\"false\"] }, \n",
       "{ name: \"<span title=\\\"maintain: Boolean\\\">maintain</span>\", children: [], rightAlign: false, values: [\"false\"] }, \n",
       "{ name: \"<span title=\\\"push: Boolean\\\">push</span>\", children: [], rightAlign: false, values: [\"false\"] }, \n",
       "{ name: \"<span title=\\\"triage: Boolean\\\">triage</span>\", children: [], rightAlign: false, values: [\"false\"] }, \n",
       "{ name: \"<span title=\\\"pull: Boolean\\\">pull</span>\", children: [], rightAlign: false, values: [\"true\"] }, \n",
       "{ name: \"<span title=\\\"permissions: DataRow\\\">permissions</span>\", children: [34, 35, 36, 37, 38], rightAlign: false, values: [\"<span class=\\\"formatted\\\" title=\\\"admin: false\\nmaintain: false\\npush: false\\ntriage: false\\npull: true\\\"><span class=\\\"structural\\\">{ </span><span class=\\\"structural\\\">admin: </span>false<span class=\\\"structural\\\">, </span><span class=\\\"structural\\\">maintain: </span>false<span class=\\\"structural\\\">, </span><span class=\\\"structural\\\">...</span><span class=\\\"structural\\\"> }</span></span>\"] }, \n",
       "{ name: \"<span title=\\\"contributors: DataFrame\\\">contributors</span>\", children: [], rightAlign: false, values: [{ frameId: -654311379, value: \"<b>DataFrame 100 x 8</b>\" }] }, \n",
       "{ name: \"<span title=\\\"key: String?\\\">key</span>\", children: [], rightAlign: false, values: [\"<span class=\\\"formatted\\\" title=\\\"\\\"><span class=\\\"null\\\">null</span></span>\"] }, \n",
       "{ name: \"<span title=\\\"name: String?\\\">name</span>\", children: [], rightAlign: false, values: [\"<span class=\\\"formatted\\\" title=\\\"\\\"><span class=\\\"null\\\">null</span></span>\"] }, \n",
       "{ name: \"<span title=\\\"spdx_id: String?\\\">spdx_id</span>\", children: [], rightAlign: false, values: [\"<span class=\\\"formatted\\\" title=\\\"\\\"><span class=\\\"null\\\">null</span></span>\"] }, \n",
       "{ name: \"<span title=\\\"url: URL?\\\">url</span>\", children: [], rightAlign: false, values: [\"<span class=\\\"formatted\\\" title=\\\"\\\"><span class=\\\"null\\\">null</span></span>\"] }, \n",
       "{ name: \"<span title=\\\"node_id: String?\\\">node_id</span>\", children: [], rightAlign: false, values: [\"<span class=\\\"formatted\\\" title=\\\"\\\"><span class=\\\"null\\\">null</span></span>\"] }, \n",
       "{ name: \"<span title=\\\"license: DataRow\\\">license</span>\", children: [41, 42, 43, 44, 45], rightAlign: false, values: [\"<span class=\\\"formatted\\\" title=\\\"\\\"><span class=\\\"null\\\">{ }</span></span>\"] }, \n",
       "], id: -654311380, rootId: -654311380 } ) });\n",
       "/*-->*/\n",
       "\n",
       "/*<!--*/\n",
       "call_DataFrame(function() { DataFrame.addTable({ cols: [{ name: \"<span title=\\\"login: String\\\">login</span>\", children: [], rightAlign: false, values: [\"udalov\",\"mglukhikh\",\"goodwinnk\",\"valentinkip\",\"abreslav\"] }, \n",
       "{ name: \"<span title=\\\"id: Int\\\">id</span>\", children: [], rightAlign: true, values: [\"<span class=\\\"formatted\\\" title=\\\"\\\"><span class=\\\"numbers\\\">292714</span></span>\",\"<span class=\\\"formatted\\\" title=\\\"\\\"><span class=\\\"numbers\\\">1127631</span></span>\",\"<span class=\\\"formatted\\\" title=\\\"\\\"><span class=\\\"numbers\\\">908958</span></span>\",\"<span class=\\\"formatted\\\" title=\\\"\\\"><span class=\\\"numbers\\\">3007027</span></span>\",\"<span class=\\\"formatted\\\" title=\\\"\\\"><span class=\\\"numbers\\\">888318</span></span>\"] }, \n",
       "{ name: \"<span title=\\\"node_id: String\\\">node_id</span>\", children: [], rightAlign: false, values: [\"MDQ6VXNlcjI5MjcxNA==\",\"MDQ6VXNlcjExMjc2MzE=\",\"MDQ6VXNlcjkwODk1OA==\",\"MDQ6VXNlcjMwMDcwMjc=\",\"MDQ6VXNlcjg4ODMxOA==\"] }, \n",
       "{ name: \"<span title=\\\"gravatar_id: String\\\">gravatar_id</span>\", children: [], rightAlign: false, values: [\"\",\"\",\"\",\"\",\"\"] }, \n",
       "{ name: \"<span title=\\\"url: URL\\\">url</span>\", children: [], rightAlign: false, values: [\"<a href='https://api.github.com/users/udalov' target='_blank'>https://api.github.com/users/udalov</a>\",\"<a href='https://api.github.com/users/mglukhikh' target='_blank'>https://api.github.com/users/mglukhikh</a>\",\"<a href='https://api.github.com/users/goodwinnk' target='_blank'>https://api.github.com/users/goodwinnk</a>\",\"<a href='https://api.github.com/users/valentinkip' target='_blank'>https://api.github.com/users/valentinkip</a>\",\"<a href='https://api.github.com/users/abreslav' target='_blank'>https://api.github.com/users/abreslav</a>\"] }, \n",
       "{ name: \"<span title=\\\"type: String\\\">type</span>\", children: [], rightAlign: false, values: [\"User\",\"User\",\"User\",\"User\",\"User\"] }, \n",
       "{ name: \"<span title=\\\"site_admin: Boolean\\\">site_admin</span>\", children: [], rightAlign: false, values: [\"false\",\"false\",\"false\",\"false\",\"false\"] }, \n",
       "{ name: \"<span title=\\\"contributions: Int\\\">contributions</span>\", children: [], rightAlign: true, values: [\"<span class=\\\"formatted\\\" title=\\\"\\\"><span class=\\\"numbers\\\">5630</span></span>\",\"<span class=\\\"formatted\\\" title=\\\"\\\"><span class=\\\"numbers\\\">4015</span></span>\",\"<span class=\\\"formatted\\\" title=\\\"\\\"><span class=\\\"numbers\\\">3925</span></span>\",\"<span class=\\\"formatted\\\" title=\\\"\\\"><span class=\\\"numbers\\\">3069</span></span>\",\"<span class=\\\"formatted\\\" title=\\\"\\\"><span class=\\\"numbers\\\">2862</span></span>\"] }, \n",
       "], id: -654311379, rootId: -654311380 } ) });\n",
       "/*-->*/\n",
       "\n",
       "call_DataFrame(function() { DataFrame.renderTable(-654311380) });\n",
       "\n",
       "\n",
       "        </script>\n",
       "        </html>"
      ]
     },
     "execution_count": 19,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "organizations.mapToColumn(\"most_starred_repo\") {\n",
    "    // Alternative syntax\n",
    "    // this.repos.maxBy { stargazers_count }\n",
    "    // it.repos.maxBy { stargazers_count }\n",
    "    repos.maxBy { stargazers_count }\n",
    "}"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "pycharm": {
     "name": "#%% md\n"
    }
   },
   "source": [
    "To make the result more obvious, let's create a new dataframe with a subset of columns from repos using `select`. Then we will use `head` to check the first 5 rows in the dataframe. "
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 20,
   "metadata": {
    "pycharm": {
     "name": "#%%\n"
    }
   },
   "outputs": [
    {
     "data": {
      "text/html": [
       "        <html>\n",
       "        <head>\n",
       "            <style type=\"text/css\">\n",
       "                \n",
       "\n",
       "            </style>\n",
       "        </head>\n",
       "        <body>\n",
       "            <table class=\"dataframe\" id=\"df_-654311378\"/>\n",
       "\n",
       "<p>DataFrame [5 x 3]</p>\n",
       "        </body>\n",
       "        <script>\n",
       "            /*<!--*/\n",
       "call_DataFrame(function() { DataFrame.addTable({ cols: [{ name: \"<span title=\\\"name: String\\\">name</span>\", children: [], rightAlign: false, values: [\"JPS\",\"YouTrackSharp\",\"colorSchemeTool\",\"ideavim\",\"youtrack-vcs-hooks\"] }, \n",
       "{ name: \"<span title=\\\"html_url: URL\\\">html_url</span>\", children: [], rightAlign: false, values: [\"<a href='https://github.com/JetBrains/JPS' target='_blank'>https://github.com/JetBrains/JPS</a>\",\"<span class=\\\"formatted\\\" title=\\\"https://github.com/JetBrains/YouTrackSharp\\\"><a href='https://github.com/JetBrains/YouTrackSharp' target='_blank'>https://github.com/JetBrains/YouTrack<span class=\\\"structural\\\">...</span></a></span>\",\"<span class=\\\"formatted\\\" title=\\\"https://github.com/JetBrains/colorSchemeTool\\\"><a href='https://github.com/JetBrains/colorSchemeTool' target='_blank'>https://github.com/JetBrains/colorSch<span class=\\\"structural\\\">...</span></a></span>\",\"<a href='https://github.com/JetBrains/ideavim' target='_blank'>https://github.com/JetBrains/ideavim</a>\",\"<span class=\\\"formatted\\\" title=\\\"https://github.com/JetBrains/youtrack-vcs-hooks\\\"><a href='https://github.com/JetBrains/youtrack-vcs-hooks' target='_blank'>https://github.com/JetBrains/youtrack<span class=\\\"structural\\\">...</span></a></span>\"] }, \n",
       "{ name: \"<span title=\\\"stargazers_count: Int\\\">stargazers_count</span>\", children: [], rightAlign: true, values: [\"<span class=\\\"formatted\\\" title=\\\"\\\"><span class=\\\"numbers\\\">23</span></span>\",\"<span class=\\\"formatted\\\" title=\\\"\\\"><span class=\\\"numbers\\\">115</span></span>\",\"<span class=\\\"formatted\\\" title=\\\"\\\"><span class=\\\"numbers\\\">290</span></span>\",\"<span class=\\\"formatted\\\" title=\\\"\\\"><span class=\\\"numbers\\\">6120</span></span>\",\"<span class=\\\"formatted\\\" title=\\\"\\\"><span class=\\\"numbers\\\">5</span></span>\"] }, \n",
       "], id: -654311378, rootId: -654311378 } ) });\n",
       "/*-->*/\n",
       "\n",
       "call_DataFrame(function() { DataFrame.renderTable(-654311378) });\n",
       "\n",
       "\n",
       "        </script>\n",
       "        </html>"
      ]
     },
     "execution_count": 20,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "organizations[0].repos.select { name and html_url and stargazers_count }.head(5)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "pycharm": {
     "name": "#%% md\n"
    }
   },
   "source": [
    "Looks better, doesn't it? Let's combine two previous examples"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 21,
   "metadata": {
    "pycharm": {
     "name": "#%%\n"
    }
   },
   "outputs": [
    {
     "data": {
      "text/html": [
       "        <html>\n",
       "        <head>\n",
       "            <style type=\"text/css\">\n",
       "                \n",
       "\n",
       "            </style>\n",
       "        </head>\n",
       "        <body>\n",
       "            <table class=\"dataframe\" id=\"df_-654311377\"/>\n",
       "\n",
       "<p>DataFrame [1 x 3]</p>\n",
       "        </body>\n",
       "        <script>\n",
       "            /*<!--*/\n",
       "call_DataFrame(function() { DataFrame.addTable({ cols: [{ name: \"<span title=\\\"name: String\\\">name</span>\", children: [], rightAlign: false, values: [\"kotlin\"] }, \n",
       "{ name: \"<span title=\\\"html_url: URL\\\">html_url</span>\", children: [], rightAlign: false, values: [\"<a href='https://github.com/JetBrains/kotlin' target='_blank'>https://github.com/JetBrains/kotlin</a>\"] }, \n",
       "{ name: \"<span title=\\\"stargazers_count: Int\\\">stargazers_count</span>\", children: [], rightAlign: true, values: [\"<span class=\\\"formatted\\\" title=\\\"\\\"><span class=\\\"numbers\\\">39402</span></span>\"] }, \n",
       "], id: -654311377, rootId: -654311377 } ) });\n",
       "/*-->*/\n",
       "\n",
       "call_DataFrame(function() { DataFrame.renderTable(-654311377) });\n",
       "\n",
       "\n",
       "        </script>\n",
       "        </html>"
      ]
     },
     "execution_count": 21,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "organizations.mapToColumn(\"most_starred_repo\") {\n",
    "    repos.select { name and html_url and stargazers_count }.maxBy { stargazers_count }\n",
    "}"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "pycharm": {
     "name": "#%% md\n"
    }
   },
   "source": [
    "3a) What is **the most and the least** starred project? There is a special syntax for `map` when you need to compute more than one column. This `map` creates a new dataframe."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 22,
   "metadata": {
    "pycharm": {
     "name": "#%%\n"
    }
   },
   "outputs": [
    {
     "data": {
      "text/html": [
       "        <html>\n",
       "        <head>\n",
       "            <style type=\"text/css\">\n",
       "                \n",
       "\n",
       "            </style>\n",
       "        </head>\n",
       "        <body>\n",
       "            <table class=\"dataframe\" id=\"df_-654311376\"/>\n",
       "\n",
       "<p>DataFrame [1 x 2]</p>\n",
       "        </body>\n",
       "        <script>\n",
       "            /*<!--*/\n",
       "call_DataFrame(function() { DataFrame.addTable({ cols: [{ name: \"<span title=\\\"name: String\\\">name</span>\", children: [], rightAlign: false, values: [\"kotlin\"] }, \n",
       "{ name: \"<span title=\\\"html_url: URL\\\">html_url</span>\", children: [], rightAlign: false, values: [\"<a href='https://github.com/JetBrains/kotlin' target='_blank'>https://github.com/JetBrains/kotlin</a>\"] }, \n",
       "{ name: \"<span title=\\\"stargazers_count: Int\\\">stargazers_count</span>\", children: [], rightAlign: true, values: [\"<span class=\\\"formatted\\\" title=\\\"\\\"><span class=\\\"numbers\\\">39402</span></span>\"] }, \n",
       "{ name: \"<span title=\\\"most_starred_repo: DataRow\\\">most_starred_repo</span>\", children: [0, 1, 2], rightAlign: false, values: [\"<span class=\\\"formatted\\\" title=\\\"name: kotlin\\nhtml_url: https://github.com/JetBrains/kotlin\\nstargazers_count: 39402\\\"><span class=\\\"structural\\\">{ </span><span class=\\\"structural\\\">name: </span>kotlin<span class=\\\"structural\\\">, </span><span class=\\\"structural\\\">html_url: </span><a href='https://github.com/JetBrains/kotlin' target='_blank'>htt<span class=\\\"structural\\\">...</span></a><span class=\\\"structural\\\">, </span><span class=\\\"structural\\\">s...</span><span class=\\\"structural\\\"> }</span></span>\"] }, \n",
       "{ name: \"<span title=\\\"name: String\\\">name</span>\", children: [], rightAlign: false, values: [\"hsql1\"] }, \n",
       "{ name: \"<span title=\\\"html_url: URL\\\">html_url</span>\", children: [], rightAlign: false, values: [\"<a href='https://github.com/JetBrains/hsql1' target='_blank'>https://github.com/JetBrains/hsql1</a>\"] }, \n",
       "{ name: \"<span title=\\\"stargazers_count: Int\\\">stargazers_count</span>\", children: [], rightAlign: true, values: [\"<span class=\\\"formatted\\\" title=\\\"\\\"><span class=\\\"numbers\\\">1</span></span>\"] }, \n",
       "{ name: \"<span title=\\\"least_starred_repo: DataRow\\\">least_starred_repo</span>\", children: [4, 5, 6], rightAlign: false, values: [\"<span class=\\\"formatted\\\" title=\\\"name: hsql1\\nhtml_url: https://github.com/JetBrains/hsql1\\nstargazers_count: 1\\\"><span class=\\\"structural\\\">{ </span><span class=\\\"structural\\\">name: </span>hsql1<span class=\\\"structural\\\">, </span><span class=\\\"structural\\\">html_url: </span><a href='https://github.com/JetBrains/hsql1' target='_blank'>http<span class=\\\"structural\\\">...</span></a><span class=\\\"structural\\\">, </span><span class=\\\"structural\\\">s...</span><span class=\\\"structural\\\"> }</span></span>\"] }, \n",
       "], id: -654311376, rootId: -654311376 } ) });\n",
       "/*-->*/\n",
       "\n",
       "call_DataFrame(function() { DataFrame.renderTable(-654311376) });\n",
       "\n",
       "\n",
       "        </script>\n",
       "        </html>"
      ]
     },
     "execution_count": 22,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "organizations.mapToFrame { \n",
    "    \"most_starred_repo\" from { \n",
    "        repos\n",
    "            .select { name and html_url and stargazers_count }\n",
    "            .maxBy { stargazers_count } \n",
    "    }\n",
    "    \"least_starred_repo\" from { \n",
    "        repos\n",
    "            .select { name and html_url and stargazers_count }\n",
    "            .minBy { stargazers_count } \n",
    "    }\n",
    "}"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "pycharm": {
     "name": "#%% md\n"
    }
   },
   "source": [
    "We can observe that we have to write the same select twice. Instead of this, let's **create a new dataframe, where column `repos`  has only 3 child columns: `name and html_url and stargazers_count`** and then get the most and least starred project again.\n",
    "\n",
    "Here we want to modify values inside the dataframe, and the documentation suggests we can use [`update`](https://kotlin.github.io/dataframe/update.html) for this task."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 23,
   "metadata": {
    "pycharm": {
     "name": "#%%\n"
    }
   },
   "outputs": [],
   "source": [
    "val organizationsWithMinifiedRepos = organizations.update {\n",
    "    // We want to change repos, so pick this column\n",
    "    repos \n",
    "}\n",
    ".with { \n",
    "    // Here *it* is *repos*, and we can use `select` as we did in the previous example.\n",
    "    // Value of the `repos` column will be replaced by the result of the following expression\n",
    "    it.select { name and html_url and stargazers_count } \n",
    "}   "
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "pycharm": {
     "name": "#%% md\n"
    }
   },
   "source": [
    "Note that **dataframe is an immutable structure** and operators do not change values inside original dataframe. "
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 24,
   "metadata": {
    "pycharm": {
     "name": "#%%\n"
    }
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "[id, node_id, name, full_name, private, html_url, description, fork, url, created_at, updated_at, pushed_at, homepage, size, stargazers_count, watchers_count, language, has_issues, has_projects, has_downloads, has_wiki, has_pages, forks_count, archived, disabled, open_issues_count, allow_forking, is_template, topics, visibility, forks, open_issues, watchers, default_branch, permissions, contributors, license]\n",
      "\n",
      "[name, html_url, stargazers_count]\n"
     ]
    }
   ],
   "source": [
    "println(organizations.repos[0].columnNames())\n",
    "println()\n",
    "println(organizationsWithMinifiedRepos.repos[0].columnNames())"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "pycharm": {
     "name": "#%% md\n"
    }
   },
   "source": [
    "Here is the answer for **what are the most and the least starred projects**."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 25,
   "metadata": {
    "pycharm": {
     "name": "#%%\n"
    }
   },
   "outputs": [
    {
     "data": {
      "text/html": [
       "        <html>\n",
       "        <head>\n",
       "            <style type=\"text/css\">\n",
       "                \n",
       "\n",
       "            </style>\n",
       "        </head>\n",
       "        <body>\n",
       "            <table class=\"dataframe\" id=\"df_-654311375\"/>\n",
       "\n",
       "<p>DataFrame [1 x 2]</p>\n",
       "        </body>\n",
       "        <script>\n",
       "            /*<!--*/\n",
       "call_DataFrame(function() { DataFrame.addTable({ cols: [{ name: \"<span title=\\\"name: String\\\">name</span>\", children: [], rightAlign: false, values: [\"kotlin\"] }, \n",
       "{ name: \"<span title=\\\"html_url: URL\\\">html_url</span>\", children: [], rightAlign: false, values: [\"<a href='https://github.com/JetBrains/kotlin' target='_blank'>https://github.com/JetBrains/kotlin</a>\"] }, \n",
       "{ name: \"<span title=\\\"stargazers_count: Int\\\">stargazers_count</span>\", children: [], rightAlign: true, values: [\"<span class=\\\"formatted\\\" title=\\\"\\\"><span class=\\\"numbers\\\">39402</span></span>\"] }, \n",
       "{ name: \"<span title=\\\"most_starred_repo: DataRow\\\">most_starred_repo</span>\", children: [0, 1, 2], rightAlign: false, values: [\"<span class=\\\"formatted\\\" title=\\\"name: kotlin\\nhtml_url: https://github.com/JetBrains/kotlin\\nstargazers_count: 39402\\\"><span class=\\\"structural\\\">{ </span><span class=\\\"structural\\\">name: </span>kotlin<span class=\\\"structural\\\">, </span><span class=\\\"structural\\\">html_url: </span><a href='https://github.com/JetBrains/kotlin' target='_blank'>htt<span class=\\\"structural\\\">...</span></a><span class=\\\"structural\\\">, </span><span class=\\\"structural\\\">s...</span><span class=\\\"structural\\\"> }</span></span>\"] }, \n",
       "{ name: \"<span title=\\\"name: String\\\">name</span>\", children: [], rightAlign: false, values: [\"hsql1\"] }, \n",
       "{ name: \"<span title=\\\"html_url: URL\\\">html_url</span>\", children: [], rightAlign: false, values: [\"<a href='https://github.com/JetBrains/hsql1' target='_blank'>https://github.com/JetBrains/hsql1</a>\"] }, \n",
       "{ name: \"<span title=\\\"stargazers_count: Int\\\">stargazers_count</span>\", children: [], rightAlign: true, values: [\"<span class=\\\"formatted\\\" title=\\\"\\\"><span class=\\\"numbers\\\">1</span></span>\"] }, \n",
       "{ name: \"<span title=\\\"least_starred_repo: DataRow\\\">least_starred_repo</span>\", children: [4, 5, 6], rightAlign: false, values: [\"<span class=\\\"formatted\\\" title=\\\"name: hsql1\\nhtml_url: https://github.com/JetBrains/hsql1\\nstargazers_count: 1\\\"><span class=\\\"structural\\\">{ </span><span class=\\\"structural\\\">name: </span>hsql1<span class=\\\"structural\\\">, </span><span class=\\\"structural\\\">html_url: </span><a href='https://github.com/JetBrains/hsql1' target='_blank'>http<span class=\\\"structural\\\">...</span></a><span class=\\\"structural\\\">, </span><span class=\\\"structural\\\">s...</span><span class=\\\"structural\\\"> }</span></span>\"] }, \n",
       "], id: -654311375, rootId: -654311375 } ) });\n",
       "/*-->*/\n",
       "\n",
       "call_DataFrame(function() { DataFrame.renderTable(-654311375) });\n",
       "\n",
       "\n",
       "        </script>\n",
       "        </html>"
      ]
     },
     "execution_count": 25,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "organizationsWithMinifiedRepos.mapToFrame { \n",
    "    \"most_starred_repo\" from { \n",
    "        repos.maxBy { stargazers_count } \n",
    "    }\n",
    "    \"least_starred_repo\" from { \n",
    "        repos.minBy { stargazers_count } \n",
    "    }\n",
    "}"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "pycharm": {
     "name": "#%% md\n"
    }
   },
   "source": [
    "Expressions inside map, the [**row expressions**](https://kotlin.github.io/dataframe/datarow.html#row-expressions), can be as complex as your fantasy goes. For example, we can pick the five most starred and five least starred repositories."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 26,
   "metadata": {
    "pycharm": {
     "name": "#%%\n"
    }
   },
   "outputs": [
    {
     "data": {
      "text/html": [
       "        <html>\n",
       "        <head>\n",
       "            <style type=\"text/css\">\n",
       "                \n",
       "\n",
       "            </style>\n",
       "        </head>\n",
       "        <body>\n",
       "            <table class=\"dataframe\" id=\"df_-654311374\"/>\n",
       "\n",
       "<p>DataColumn [1]</p>\n",
       "        </body>\n",
       "        <script>\n",
       "            /*<!--*/\n",
       "call_DataFrame(function() { DataFrame.addTable({ cols: [{ name: \"<span title=\\\"interesting_repos: DataFrame\\\">interesting_repos</span>\", children: [], rightAlign: false, values: [{ frameId: -654311373, value: \"<b>DataFrame 10 x 3</b>\" }] }, \n",
       "], id: -654311374, rootId: -654311374 } ) });\n",
       "/*-->*/\n",
       "\n",
       "/*<!--*/\n",
       "call_DataFrame(function() { DataFrame.addTable({ cols: [{ name: \"<span title=\\\"name: String\\\">name</span>\", children: [], rightAlign: false, values: [\"kotlin\",\"intellij-community\",\"ideavim\",\"Exposed\",\"intellij-plugins\"] }, \n",
       "{ name: \"<span title=\\\"html_url: URL\\\">html_url</span>\", children: [], rightAlign: false, values: [\"<a href='https://github.com/JetBrains/kotlin' target='_blank'>https://github.com/JetBrains/kotlin</a>\",\"<span class=\\\"formatted\\\" title=\\\"https://github.com/JetBrains/intellij-community\\\"><a href='https://github.com/JetBrains/intellij-community' target='_blank'>https://github.com/JetBrains/intellij<span class=\\\"structural\\\">...</span></a></span>\",\"<a href='https://github.com/JetBrains/ideavim' target='_blank'>https://github.com/JetBrains/ideavim</a>\",\"<a href='https://github.com/JetBrains/Exposed' target='_blank'>https://github.com/JetBrains/Exposed</a>\",\"<span class=\\\"formatted\\\" title=\\\"https://github.com/JetBrains/intellij-plugins\\\"><a href='https://github.com/JetBrains/intellij-plugins' target='_blank'>https://github.com/JetBrains/intellij<span class=\\\"structural\\\">...</span></a></span>\"] }, \n",
       "{ name: \"<span title=\\\"stargazers_count: Int\\\">stargazers_count</span>\", children: [], rightAlign: true, values: [\"<span class=\\\"formatted\\\" title=\\\"\\\"><span class=\\\"numbers\\\">39402</span></span>\",\"<span class=\\\"formatted\\\" title=\\\"\\\"><span class=\\\"numbers\\\">12924</span></span>\",\"<span class=\\\"formatted\\\" title=\\\"\\\"><span class=\\\"numbers\\\">6120</span></span>\",\"<span class=\\\"formatted\\\" title=\\\"\\\"><span class=\\\"numbers\\\">5689</span></span>\",\"<span class=\\\"formatted\\\" title=\\\"\\\"><span class=\\\"numbers\\\">1737</span></span>\"] }, \n",
       "], id: -654311373, rootId: -654311374 } ) });\n",
       "/*-->*/\n",
       "\n",
       "call_DataFrame(function() { DataFrame.renderTable(-654311374) });\n",
       "\n",
       "\n",
       "        </script>\n",
       "        </html>"
      ]
     },
     "execution_count": 26,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "organizationsWithMinifiedRepos.mapToColumn(\"interesting_repos\") {\n",
    "    val sorted = repos.sortByDesc { stargazers_count }\n",
    "    sorted.take(5).concat(sorted.takeLast(5))\n",
    "}"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "pycharm": {
     "name": "#%% md\n"
    }
   },
   "source": [
    "That's it. We used the following operations to explore our data sample:\n",
    "* [`map`](https://kotlin.github.io/dataframe/map.html) to create a data column and dataframe with values computed from rows of original dataframe\n",
    "* [`select`](https://kotlin.github.io/dataframe/columnselectors.html) to create dataframe with subset of columns from original\n",
    "* [`convert`](https://kotlin.github.io/dataframe/convert.html) to create dataframe with changed values in some columns (in our case it was `repos`)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "pycharm": {
     "name": "#%% md\n"
    }
   },
   "source": [
    "Here is some code required to work with GitHub API with API key. Without API the key, there is a limit of 30 requests or so. \n",
    "Follow the instruction to get a personal access token: https://docs.github.com/en/authentication/keeping-your-account-and-data-secure/creating-a-personal-access-token. Then update line `val credentials: Credentials? = null` like `val credentials: Credentials? = Credentials(\"username\", \"your_token\")`"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 27,
   "metadata": {
    "pycharm": {
     "name": "#%%\n"
    }
   },
   "outputs": [],
   "source": [
    "@file:DependsOn(\"org.http4k:http4k-core:4.16.3.0\")\n",
    "@file:DependsOn(\"org.http4k:http4k-client-apache:4.16.3.0\")"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 28,
   "metadata": {
    "pycharm": {
     "name": "#%%\n"
    }
   },
   "outputs": [],
   "source": [
    "import org.http4k.client.ApacheClient\n",
    "import org.http4k.core.Method.GET\n",
    "import org.http4k.core.Request\n",
    "\n",
    "val client = ApacheClient()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 29,
   "metadata": {
    "pycharm": {
     "name": "#%%\n"
    }
   },
   "outputs": [],
   "source": [
    "data class Credentials(val name: String, val token: String)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 30,
   "metadata": {
    "pycharm": {
     "name": "#%%\n"
    }
   },
   "outputs": [],
   "source": [
    "import java.util.Base64\n",
    "\n",
    "fun authHeader(name: String, token: String): String {\n",
    "    return \"Basic \" + Base64.getEncoder().encode(\"$name:$token\".toByteArray()).toString(Charsets.UTF_8)\n",
    "}\n",
    "\n",
    "fun readDf(url: String, credentials: Credentials?): DataFrame<*> {\n",
    "    val request = Request(GET, url).let {\n",
    "        if (credentials != null) {\n",
    "            it.header(\"Authorization\", authHeader(credentials.name, credentials.token))\n",
    "        } else {\n",
    "            it\n",
    "        }\n",
    "    }.query(\"per_page\", \"100\")\n",
    "    return DataFrame.readJsonStr(client(request).bodyString())\n",
    "}"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 31,
   "metadata": {
    "pycharm": {
     "name": "#%%\n"
    }
   },
   "outputs": [],
   "source": [
    "val credentials: Credentials? = null\n",
    "\n",
    "fun readDf(url: String) = readDf(url, credentials)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 32,
   "metadata": {
    "pycharm": {
     "name": "#%%\n"
    }
   },
   "outputs": [],
   "source": [
    "import org.http4k.core.HttpHandler\n",
    "\n",
    "data class PageInfo(val body: DataFrame<*>, val pageUrls: List<String>)\n",
    "\n",
    "fun parseLinkHeader(links: Pair<String, String?>): String? = links.second?.split(\",\")\n",
    "        ?.map { it.split(\";\")\n",
    "        ?.map { it.trim() } }\n",
    "        ?.find { (_, rel) -> rel == \"rel=\\\"last\\\"\" }\n",
    "        ?.first()\n",
    "        ?.drop(1)?.dropLast(1)\n",
    "        \n",
    "\n",
    "val PAGE_REGEX = \"page=(\\\\d+)$\".toRegex()\n",
    "fun readPageInfo(client: HttpHandler, url: String): PageInfo {\n",
    "    val firstPage = client(Request(GET, url).query(\"per_page\", \"100\"))\n",
    "    val firstPageDf = DataFrame.readJsonStr(firstPage.bodyString())\n",
    "    val links = firstPage.headers.find { (name, _) -> name == \"Link\" } ?: return PageInfo(firstPageDf, emptyList())\n",
    "    val lastPageUrl = parseLinkHeader(links) ?: error(\"Expected 'Link' header with non empty value 'rel=last' attribute on endpoint $url, but was $links\")\n",
    "    val n = PAGE_REGEX.find(lastPageUrl)?.groupValues?.get(1)?.toInt()!!\n",
    "    val pageUrls = (2..n).map {\n",
    "        lastPageUrl.replace(PAGE_REGEX, \"page=$it\")    \n",
    "    }\n",
    "    return PageInfo(firstPageDf, pageUrls)\n",
    "}"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 33,
   "metadata": {
    "pycharm": {
     "name": "#%%\n"
    }
   },
   "outputs": [],
   "source": [
    "fun readPaginatedEndpoint(url: String): DataFrame<*> {\n",
    "    val pageInfo = readPageInfo(client, url)\n",
    "    return pageInfo.body.concat(pageInfo.pageUrls.map { readDf(it) }.concat())\n",
    "}"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "pycharm": {
     "name": "#%% md\n"
    }
   },
   "source": [
    "Section 2. Build the data sample"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 34,
   "metadata": {
    "pycharm": {
     "name": "#%%\n"
    }
   },
   "outputs": [
    {
     "data": {
      "text/html": [
       "        <html>\n",
       "        <head>\n",
       "            <style type=\"text/css\">\n",
       "                \n",
       "\n",
       "            </style>\n",
       "        </head>\n",
       "        <body>\n",
       "            <table class=\"dataframe\" id=\"df_-654311372\"/>\n",
       "\n",
       "<p>DataFrame [1 x 29]</p>\n",
       "        </body>\n",
       "        <script>\n",
       "            /*<!--*/\n",
       "call_DataFrame(function() { DataFrame.addTable({ cols: [{ name: \"<span title=\\\"login: String\\\">login</span>\", children: [], rightAlign: false, values: [\"JetBrains\"] }, \n",
       "{ name: \"<span title=\\\"id: Int\\\">id</span>\", children: [], rightAlign: true, values: [\"<span class=\\\"formatted\\\" title=\\\"\\\"><span class=\\\"numbers\\\">878437</span></span>\"] }, \n",
       "{ name: \"<span title=\\\"node_id: String\\\">node_id</span>\", children: [], rightAlign: false, values: [\"MDEyOk9yZ2FuaXphdGlvbjg3ODQzNw==\"] }, \n",
       "{ name: \"<span title=\\\"url: String\\\">url</span>\", children: [], rightAlign: false, values: [\"https://api.github.com/orgs/JetBrains\"] }, \n",
       "{ name: \"<span title=\\\"repos_url: String\\\">repos_url</span>\", children: [], rightAlign: false, values: [\"<span class=\\\"formatted\\\" title=\\\"https://api.github.com/orgs/JetBrains/repos\\\">https://api.github.com/orgs/JetBrains<span class=\\\"structural\\\">...</span></span>\"] }, \n",
       "{ name: \"<span title=\\\"events_url: String\\\">events_url</span>\", children: [], rightAlign: false, values: [\"<span class=\\\"formatted\\\" title=\\\"https://api.github.com/orgs/JetBrains/events\\\">https://api.github.com/orgs/JetBrains<span class=\\\"structural\\\">...</span></span>\"] }, \n",
       "{ name: \"<span title=\\\"hooks_url: String\\\">hooks_url</span>\", children: [], rightAlign: false, values: [\"<span class=\\\"formatted\\\" title=\\\"https://api.github.com/orgs/JetBrains/hooks\\\">https://api.github.com/orgs/JetBrains<span class=\\\"structural\\\">...</span></span>\"] }, \n",
       "{ name: \"<span title=\\\"issues_url: String\\\">issues_url</span>\", children: [], rightAlign: false, values: [\"<span class=\\\"formatted\\\" title=\\\"https://api.github.com/orgs/JetBrains/issues\\\">https://api.github.com/orgs/JetBrains<span class=\\\"structural\\\">...</span></span>\"] }, \n",
       "{ name: \"<span title=\\\"members_url: String\\\">members_url</span>\", children: [], rightAlign: false, values: [\"<span class=\\\"formatted\\\" title=\\\"https://api.github.com/orgs/JetBrains/members{/member}\\\">https://api.github.com/orgs/JetBrains<span class=\\\"structural\\\">...</span></span>\"] }, \n",
       "{ name: \"<span title=\\\"public_members_url: String\\\">public_members_url</span>\", children: [], rightAlign: false, values: [\"<span class=\\\"formatted\\\" title=\\\"https://api.github.com/orgs/JetBrains/public_members{/member}\\\">https://api.github.com/orgs/JetBrains<span class=\\\"structural\\\">...</span></span>\"] }, \n",
       "{ name: \"<span title=\\\"avatar_url: String\\\">avatar_url</span>\", children: [], rightAlign: false, values: [\"<span class=\\\"formatted\\\" title=\\\"https://avatars.githubusercontent.com/u/878437?v=4\\\">https://avatars.githubusercontent.com<span class=\\\"structural\\\">...</span></span>\"] }, \n",
       "{ name: \"<span title=\\\"description: String\\\">description</span>\", children: [], rightAlign: false, values: [\"JetBrains open source projects\"] }, \n",
       "{ name: \"<span title=\\\"name: String\\\">name</span>\", children: [], rightAlign: false, values: [\"JetBrains\"] }, \n",
       "{ name: \"<span title=\\\"company: Any?\\\">company</span>\", children: [], rightAlign: false, values: [\"<span class=\\\"formatted\\\" title=\\\"\\\"><span class=\\\"null\\\">null</span></span>\"] }, \n",
       "{ name: \"<span title=\\\"blog: String\\\">blog</span>\", children: [], rightAlign: false, values: [\"https://jetbrains.com/opensource\"] }, \n",
       "{ name: \"<span title=\\\"location: String\\\">location</span>\", children: [], rightAlign: false, values: [\"International\"] }, \n",
       "{ name: \"<span title=\\\"email: Any?\\\">email</span>\", children: [], rightAlign: false, values: [\"<span class=\\\"formatted\\\" title=\\\"\\\"><span class=\\\"null\\\">null</span></span>\"] }, \n",
       "{ name: \"<span title=\\\"twitter_username: String\\\">twitter_username</span>\", children: [], rightAlign: false, values: [\"jetbrains\"] }, \n",
       "{ name: \"<span title=\\\"is_verified: Boolean\\\">is_verified</span>\", children: [], rightAlign: false, values: [\"true\"] }, \n",
       "{ name: \"<span title=\\\"has_organization_projects: Boolean\\\">has_organization_projects</span>\", children: [], rightAlign: false, values: [\"true\"] }, \n",
       "{ name: \"<span title=\\\"has_repository_projects: Boolean\\\">has_repository_projects</span>\", children: [], rightAlign: false, values: [\"true\"] }, \n",
       "{ name: \"<span title=\\\"public_repos: Int\\\">public_repos</span>\", children: [], rightAlign: true, values: [\"<span class=\\\"formatted\\\" title=\\\"\\\"><span class=\\\"numbers\\\">562</span></span>\"] }, \n",
       "{ name: \"<span title=\\\"public_gists: Int\\\">public_gists</span>\", children: [], rightAlign: true, values: [\"<span class=\\\"formatted\\\" title=\\\"\\\"><span class=\\\"numbers\\\">0</span></span>\"] }, \n",
       "{ name: \"<span title=\\\"followers: Int\\\">followers</span>\", children: [], rightAlign: true, values: [\"<span class=\\\"formatted\\\" title=\\\"\\\"><span class=\\\"numbers\\\">0</span></span>\"] }, \n",
       "{ name: \"<span title=\\\"following: Int\\\">following</span>\", children: [], rightAlign: true, values: [\"<span class=\\\"formatted\\\" title=\\\"\\\"><span class=\\\"numbers\\\">0</span></span>\"] }, \n",
       "{ name: \"<span title=\\\"html_url: String\\\">html_url</span>\", children: [], rightAlign: false, values: [\"https://github.com/JetBrains\"] }, \n",
       "{ name: \"<span title=\\\"created_at: String\\\">created_at</span>\", children: [], rightAlign: false, values: [\"2011-06-27T10:06:52Z\"] }, \n",
       "{ name: \"<span title=\\\"updated_at: String\\\">updated_at</span>\", children: [], rightAlign: false, values: [\"2021-03-10T09:05:50Z\"] }, \n",
       "{ name: \"<span title=\\\"type: String\\\">type</span>\", children: [], rightAlign: false, values: [\"Organization\"] }, \n",
       "], id: -654311372, rootId: -654311372 } ) });\n",
       "/*-->*/\n",
       "\n",
       "call_DataFrame(function() { DataFrame.renderTable(-654311372) });\n",
       "\n",
       "\n",
       "        </script>\n",
       "        </html>"
      ]
     },
     "execution_count": 34,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "val jb = readDf(\"https://api.github.com/orgs/JetBrains\")\n",
    "jb"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 35,
   "metadata": {
    "pycharm": {
     "name": "#%%\n"
    }
   },
   "outputs": [
    {
     "data": {
      "text/plain": [
       "login: String\n",
       "id: Int\n",
       "node_id: String\n",
       "url: String\n",
       "repos_url: String\n",
       "events_url: String\n",
       "hooks_url: String\n",
       "issues_url: String\n",
       "members_url: String\n",
       "public_members_url: String\n",
       "avatar_url: String\n",
       "description: String\n",
       "name: String\n",
       "company: Any?\n",
       "blog: String\n",
       "location: String\n",
       "email: Any?\n",
       "twitter_username: String\n",
       "is_verified: Boolean\n",
       "has_organization_projects: Boolean\n",
       "has_repository_projects: Boolean\n",
       "public_repos: Int\n",
       "public_gists: Int\n",
       "followers: Int\n",
       "following: Int\n",
       "html_url: String\n",
       "created_at: String\n",
       "updated_at: String\n",
       "type: String\n"
      ]
     },
     "execution_count": 35,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "jb.schema()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "pycharm": {
     "name": "#%% md\n"
    }
   },
   "source": [
    "Most of the data in the dataframe are just URLs. "
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 36,
   "metadata": {
    "pycharm": {
     "name": "#%%\n"
    }
   },
   "outputs": [
    {
     "data": {
      "text/html": [
       "        <html>\n",
       "        <head>\n",
       "            <style type=\"text/css\">\n",
       "                \n",
       "\n",
       "            </style>\n",
       "        </head>\n",
       "        <body>\n",
       "            <table class=\"dataframe\" id=\"df_-654311371\"/>\n",
       "\n",
       "<p>DataFrame [1 x 31]</p>\n",
       "        </body>\n",
       "        <script>\n",
       "            /*<!--*/\n",
       "call_DataFrame(function() { DataFrame.addTable({ cols: [{ name: \"<span title=\\\"login: String\\\">login</span>\", children: [], rightAlign: false, values: [\"JetBrains\"] }, \n",
       "{ name: \"<span title=\\\"id: Int\\\">id</span>\", children: [], rightAlign: true, values: [\"<span class=\\\"formatted\\\" title=\\\"\\\"><span class=\\\"numbers\\\">878437</span></span>\"] }, \n",
       "{ name: \"<span title=\\\"node_id: String\\\">node_id</span>\", children: [], rightAlign: false, values: [\"MDEyOk9yZ2FuaXphdGlvbjg3ODQzNw==\"] }, \n",
       "{ name: \"<span title=\\\"url: String\\\">url</span>\", children: [], rightAlign: false, values: [\"https://api.github.com/orgs/JetBrains\"] }, \n",
       "{ name: \"<span title=\\\"repos_url: String\\\">repos_url</span>\", children: [], rightAlign: false, values: [\"<span class=\\\"formatted\\\" title=\\\"https://api.github.com/orgs/JetBrains/repos\\\">https://api.github.com/orgs/JetBrains<span class=\\\"structural\\\">...</span></span>\"] }, \n",
       "{ name: \"<span title=\\\"events_url: String\\\">events_url</span>\", children: [], rightAlign: false, values: [\"<span class=\\\"formatted\\\" title=\\\"https://api.github.com/orgs/JetBrains/events\\\">https://api.github.com/orgs/JetBrains<span class=\\\"structural\\\">...</span></span>\"] }, \n",
       "{ name: \"<span title=\\\"hooks_url: String\\\">hooks_url</span>\", children: [], rightAlign: false, values: [\"<span class=\\\"formatted\\\" title=\\\"https://api.github.com/orgs/JetBrains/hooks\\\">https://api.github.com/orgs/JetBrains<span class=\\\"structural\\\">...</span></span>\"] }, \n",
       "{ name: \"<span title=\\\"issues_url: String\\\">issues_url</span>\", children: [], rightAlign: false, values: [\"<span class=\\\"formatted\\\" title=\\\"https://api.github.com/orgs/JetBrains/issues\\\">https://api.github.com/orgs/JetBrains<span class=\\\"structural\\\">...</span></span>\"] }, \n",
       "{ name: \"<span title=\\\"members_url: String\\\">members_url</span>\", children: [], rightAlign: false, values: [\"<span class=\\\"formatted\\\" title=\\\"https://api.github.com/orgs/JetBrains/members{/member}\\\">https://api.github.com/orgs/JetBrains<span class=\\\"structural\\\">...</span></span>\"] }, \n",
       "{ name: \"<span title=\\\"public_members_url: String\\\">public_members_url</span>\", children: [], rightAlign: false, values: [\"<span class=\\\"formatted\\\" title=\\\"https://api.github.com/orgs/JetBrains/public_members{/member}\\\">https://api.github.com/orgs/JetBrains<span class=\\\"structural\\\">...</span></span>\"] }, \n",
       "{ name: \"<span title=\\\"avatar_url: String\\\">avatar_url</span>\", children: [], rightAlign: false, values: [\"<span class=\\\"formatted\\\" title=\\\"https://avatars.githubusercontent.com/u/878437?v=4\\\">https://avatars.githubusercontent.com<span class=\\\"structural\\\">...</span></span>\"] }, \n",
       "{ name: \"<span title=\\\"description: String\\\">description</span>\", children: [], rightAlign: false, values: [\"JetBrains open source projects\"] }, \n",
       "{ name: \"<span title=\\\"name: String\\\">name</span>\", children: [], rightAlign: false, values: [\"JetBrains\"] }, \n",
       "{ name: \"<span title=\\\"company: Any?\\\">company</span>\", children: [], rightAlign: false, values: [\"<span class=\\\"formatted\\\" title=\\\"\\\"><span class=\\\"null\\\">null</span></span>\"] }, \n",
       "{ name: \"<span title=\\\"blog: String\\\">blog</span>\", children: [], rightAlign: false, values: [\"https://jetbrains.com/opensource\"] }, \n",
       "{ name: \"<span title=\\\"location: String\\\">location</span>\", children: [], rightAlign: false, values: [\"International\"] }, \n",
       "{ name: \"<span title=\\\"email: Any?\\\">email</span>\", children: [], rightAlign: false, values: [\"<span class=\\\"formatted\\\" title=\\\"\\\"><span class=\\\"null\\\">null</span></span>\"] }, \n",
       "{ name: \"<span title=\\\"twitter_username: String\\\">twitter_username</span>\", children: [], rightAlign: false, values: [\"jetbrains\"] }, \n",
       "{ name: \"<span title=\\\"is_verified: Boolean\\\">is_verified</span>\", children: [], rightAlign: false, values: [\"true\"] }, \n",
       "{ name: \"<span title=\\\"has_organization_projects: Boolean\\\">has_organization_projects</span>\", children: [], rightAlign: false, values: [\"true\"] }, \n",
       "{ name: \"<span title=\\\"has_repository_projects: Boolean\\\">has_repository_projects</span>\", children: [], rightAlign: false, values: [\"true\"] }, \n",
       "{ name: \"<span title=\\\"public_repos: Int\\\">public_repos</span>\", children: [], rightAlign: true, values: [\"<span class=\\\"formatted\\\" title=\\\"\\\"><span class=\\\"numbers\\\">562</span></span>\"] }, \n",
       "{ name: \"<span title=\\\"public_gists: Int\\\">public_gists</span>\", children: [], rightAlign: true, values: [\"<span class=\\\"formatted\\\" title=\\\"\\\"><span class=\\\"numbers\\\">0</span></span>\"] }, \n",
       "{ name: \"<span title=\\\"followers: Int\\\">followers</span>\", children: [], rightAlign: true, values: [\"<span class=\\\"formatted\\\" title=\\\"\\\"><span class=\\\"numbers\\\">0</span></span>\"] }, \n",
       "{ name: \"<span title=\\\"following: Int\\\">following</span>\", children: [], rightAlign: true, values: [\"<span class=\\\"formatted\\\" title=\\\"\\\"><span class=\\\"numbers\\\">0</span></span>\"] }, \n",
       "{ name: \"<span title=\\\"html_url: String\\\">html_url</span>\", children: [], rightAlign: false, values: [\"https://github.com/JetBrains\"] }, \n",
       "{ name: \"<span title=\\\"created_at: String\\\">created_at</span>\", children: [], rightAlign: false, values: [\"2011-06-27T10:06:52Z\"] }, \n",
       "{ name: \"<span title=\\\"updated_at: String\\\">updated_at</span>\", children: [], rightAlign: false, values: [\"2021-03-10T09:05:50Z\"] }, \n",
       "{ name: \"<span title=\\\"type: String\\\">type</span>\", children: [], rightAlign: false, values: [\"Organization\"] }, \n",
       "{ name: \"<span title=\\\"repos: DataFrame\\\">repos</span>\", children: [], rightAlign: false, values: [{ frameId: -654311370, value: \"<b>DataFrame 100 x 78</b>\" }] }, \n",
       "{ name: \"<span title=\\\"members: DataFrame\\\">members</span>\", children: [], rightAlign: false, values: [{ frameId: -654311369, value: \"<b>DataFrame 187 x 18</b>\" }] }, \n",
       "], id: -654311371, rootId: -654311371 } ) });\n",
       "/*-->*/\n",
       "\n",
       "/*<!--*/\n",
       "call_DataFrame(function() { DataFrame.addTable({ cols: [{ name: \"<span title=\\\"id: Int\\\">id</span>\", children: [], rightAlign: true, values: [\"<span class=\\\"formatted\\\" title=\\\"\\\"><span class=\\\"numbers\\\">294457</span></span>\",\"<span class=\\\"formatted\\\" title=\\\"\\\"><span class=\\\"numbers\\\">1098358</span></span>\",\"<span class=\\\"formatted\\\" title=\\\"\\\"><span class=\\\"numbers\\\">1156792</span></span>\",\"<span class=\\\"formatted\\\" title=\\\"\\\"><span class=\\\"numbers\\\">1459486</span></span>\",\"<span class=\\\"formatted\\\" title=\\\"\\\"><span class=\\\"numbers\\\">1900367</span></span>\"] }, \n",
       "{ name: \"<span title=\\\"node_id: String\\\">node_id</span>\", children: [], rightAlign: false, values: [\"MDEwOlJlcG9zaXRvcnkyOTQ0NTc=\",\"MDEwOlJlcG9zaXRvcnkxMDk4MzU4\",\"MDEwOlJlcG9zaXRvcnkxMTU2Nzky\",\"MDEwOlJlcG9zaXRvcnkxNDU5NDg2\",\"MDEwOlJlcG9zaXRvcnkxOTAwMzY3\"] }, \n",
       "{ name: \"<span title=\\\"name: String\\\">name</span>\", children: [], rightAlign: false, values: [\"JPS\",\"YouTrackSharp\",\"colorSchemeTool\",\"ideavim\",\"youtrack-vcs-hooks\"] }, \n",
       "{ name: \"<span title=\\\"full_name: String\\\">full_name</span>\", children: [], rightAlign: false, values: [\"JetBrains/JPS\",\"JetBrains/YouTrackSharp\",\"JetBrains/colorSchemeTool\",\"JetBrains/ideavim\",\"JetBrains/youtrack-vcs-hooks\"] }, \n",
       "{ name: \"<span title=\\\"private: Boolean\\\">private</span>\", children: [], rightAlign: false, values: [\"false\",\"false\",\"false\",\"false\",\"false\"] }, \n",
       "{ name: \"<span title=\\\"login: String\\\">login</span>\", children: [], rightAlign: false, values: [\"JetBrains\",\"JetBrains\",\"JetBrains\",\"JetBrains\",\"JetBrains\"] }, \n",
       "{ name: \"<span title=\\\"id: Int\\\">id</span>\", children: [], rightAlign: true, values: [\"<span class=\\\"formatted\\\" title=\\\"\\\"><span class=\\\"numbers\\\">878437</span></span>\",\"<span class=\\\"formatted\\\" title=\\\"\\\"><span class=\\\"numbers\\\">878437</span></span>\",\"<span class=\\\"formatted\\\" title=\\\"\\\"><span class=\\\"numbers\\\">878437</span></span>\",\"<span class=\\\"formatted\\\" title=\\\"\\\"><span class=\\\"numbers\\\">878437</span></span>\",\"<span class=\\\"formatted\\\" title=\\\"\\\"><span class=\\\"numbers\\\">878437</span></span>\"] }, \n",
       "{ name: \"<span title=\\\"node_id: String\\\">node_id</span>\", children: [], rightAlign: false, values: [\"MDEyOk9yZ2FuaXphdGlvbjg3ODQzNw==\",\"MDEyOk9yZ2FuaXphdGlvbjg3ODQzNw==\",\"MDEyOk9yZ2FuaXphdGlvbjg3ODQzNw==\",\"MDEyOk9yZ2FuaXphdGlvbjg3ODQzNw==\",\"MDEyOk9yZ2FuaXphdGlvbjg3ODQzNw==\"] }, \n",
       "{ name: \"<span title=\\\"avatar_url: String\\\">avatar_url</span>\", children: [], rightAlign: false, values: [\"<span class=\\\"formatted\\\" title=\\\"https://avatars.githubusercontent.com/u/878437?v=4\\\">https://avatars.githubusercontent.com<span class=\\\"structural\\\">...</span></span>\",\"<span class=\\\"formatted\\\" title=\\\"https://avatars.githubusercontent.com/u/878437?v=4\\\">https://avatars.githubusercontent.com<span class=\\\"structural\\\">...</span></span>\",\"<span class=\\\"formatted\\\" title=\\\"https://avatars.githubusercontent.com/u/878437?v=4\\\">https://avatars.githubusercontent.com<span class=\\\"structural\\\">...</span></span>\",\"<span class=\\\"formatted\\\" title=\\\"https://avatars.githubusercontent.com/u/878437?v=4\\\">https://avatars.githubusercontent.com<span class=\\\"structural\\\">...</span></span>\",\"<span class=\\\"formatted\\\" title=\\\"https://avatars.githubusercontent.com/u/878437?v=4\\\">https://avatars.githubusercontent.com<span class=\\\"structural\\\">...</span></span>\"] }, \n",
       "{ name: \"<span title=\\\"gravatar_id: String\\\">gravatar_id</span>\", children: [], rightAlign: false, values: [\"\",\"\",\"\",\"\",\"\"] }, \n",
       "{ name: \"<span title=\\\"url: String\\\">url</span>\", children: [], rightAlign: false, values: [\"https://api.github.com/users/JetBrains\",\"https://api.github.com/users/JetBrains\",\"https://api.github.com/users/JetBrains\",\"https://api.github.com/users/JetBrains\",\"https://api.github.com/users/JetBrains\"] }, \n",
       "{ name: \"<span title=\\\"html_url: String\\\">html_url</span>\", children: [], rightAlign: false, values: [\"https://github.com/JetBrains\",\"https://github.com/JetBrains\",\"https://github.com/JetBrains\",\"https://github.com/JetBrains\",\"https://github.com/JetBrains\"] }, \n",
       "{ name: \"<span title=\\\"followers_url: String\\\">followers_url</span>\", children: [], rightAlign: false, values: [\"<span class=\\\"formatted\\\" title=\\\"https://api.github.com/users/JetBrains/followers\\\">https://api.github.com/users/JetBrain<span class=\\\"structural\\\">...</span></span>\",\"<span class=\\\"formatted\\\" title=\\\"https://api.github.com/users/JetBrains/followers\\\">https://api.github.com/users/JetBrain<span class=\\\"structural\\\">...</span></span>\",\"<span class=\\\"formatted\\\" title=\\\"https://api.github.com/users/JetBrains/followers\\\">https://api.github.com/users/JetBrain<span class=\\\"structural\\\">...</span></span>\",\"<span class=\\\"formatted\\\" title=\\\"https://api.github.com/users/JetBrains/followers\\\">https://api.github.com/users/JetBrain<span class=\\\"structural\\\">...</span></span>\",\"<span class=\\\"formatted\\\" title=\\\"https://api.github.com/users/JetBrains/followers\\\">https://api.github.com/users/JetBrain<span class=\\\"structural\\\">...</span></span>\"] }, \n",
       "{ name: \"<span title=\\\"following_url: String\\\">following_url</span>\", children: [], rightAlign: false, values: [\"<span class=\\\"formatted\\\" title=\\\"https://api.github.com/users/JetBrains/following{/other_user}\\\">https://api.github.com/users/JetBrain<span class=\\\"structural\\\">...</span></span>\",\"<span class=\\\"formatted\\\" title=\\\"https://api.github.com/users/JetBrains/following{/other_user}\\\">https://api.github.com/users/JetBrain<span class=\\\"structural\\\">...</span></span>\",\"<span class=\\\"formatted\\\" title=\\\"https://api.github.com/users/JetBrains/following{/other_user}\\\">https://api.github.com/users/JetBrain<span class=\\\"structural\\\">...</span></span>\",\"<span class=\\\"formatted\\\" title=\\\"https://api.github.com/users/JetBrains/following{/other_user}\\\">https://api.github.com/users/JetBrain<span class=\\\"structural\\\">...</span></span>\",\"<span class=\\\"formatted\\\" title=\\\"https://api.github.com/users/JetBrains/following{/other_user}\\\">https://api.github.com/users/JetBrain<span class=\\\"structural\\\">...</span></span>\"] }, \n",
       "{ name: \"<span title=\\\"gists_url: String\\\">gists_url</span>\", children: [], rightAlign: false, values: [\"<span class=\\\"formatted\\\" title=\\\"https://api.github.com/users/JetBrains/gists{/gist_id}\\\">https://api.github.com/users/JetBrain<span class=\\\"structural\\\">...</span></span>\",\"<span class=\\\"formatted\\\" title=\\\"https://api.github.com/users/JetBrains/gists{/gist_id}\\\">https://api.github.com/users/JetBrain<span class=\\\"structural\\\">...</span></span>\",\"<span class=\\\"formatted\\\" title=\\\"https://api.github.com/users/JetBrains/gists{/gist_id}\\\">https://api.github.com/users/JetBrain<span class=\\\"structural\\\">...</span></span>\",\"<span class=\\\"formatted\\\" title=\\\"https://api.github.com/users/JetBrains/gists{/gist_id}\\\">https://api.github.com/users/JetBrain<span class=\\\"structural\\\">...</span></span>\",\"<span class=\\\"formatted\\\" title=\\\"https://api.github.com/users/JetBrains/gists{/gist_id}\\\">https://api.github.com/users/JetBrain<span class=\\\"structural\\\">...</span></span>\"] }, \n",
       "{ name: \"<span title=\\\"starred_url: String\\\">starred_url</span>\", children: [], rightAlign: false, values: [\"<span class=\\\"formatted\\\" title=\\\"https://api.github.com/users/JetBrains/starred{/owner}{/repo}\\\">https://api.github.com/users/JetBrain<span class=\\\"structural\\\">...</span></span>\",\"<span class=\\\"formatted\\\" title=\\\"https://api.github.com/users/JetBrains/starred{/owner}{/repo}\\\">https://api.github.com/users/JetBrain<span class=\\\"structural\\\">...</span></span>\",\"<span class=\\\"formatted\\\" title=\\\"https://api.github.com/users/JetBrains/starred{/owner}{/repo}\\\">https://api.github.com/users/JetBrain<span class=\\\"structural\\\">...</span></span>\",\"<span class=\\\"formatted\\\" title=\\\"https://api.github.com/users/JetBrains/starred{/owner}{/repo}\\\">https://api.github.com/users/JetBrain<span class=\\\"structural\\\">...</span></span>\",\"<span class=\\\"formatted\\\" title=\\\"https://api.github.com/users/JetBrains/starred{/owner}{/repo}\\\">https://api.github.com/users/JetBrain<span class=\\\"structural\\\">...</span></span>\"] }, \n",
       "{ name: \"<span title=\\\"subscriptions_url: String\\\">subscriptions_url</span>\", children: [], rightAlign: false, values: [\"<span class=\\\"formatted\\\" title=\\\"https://api.github.com/users/JetBrains/subscriptions\\\">https://api.github.com/users/JetBrain<span class=\\\"structural\\\">...</span></span>\",\"<span class=\\\"formatted\\\" title=\\\"https://api.github.com/users/JetBrains/subscriptions\\\">https://api.github.com/users/JetBrain<span class=\\\"structural\\\">...</span></span>\",\"<span class=\\\"formatted\\\" title=\\\"https://api.github.com/users/JetBrains/subscriptions\\\">https://api.github.com/users/JetBrain<span class=\\\"structural\\\">...</span></span>\",\"<span class=\\\"formatted\\\" title=\\\"https://api.github.com/users/JetBrains/subscriptions\\\">https://api.github.com/users/JetBrain<span class=\\\"structural\\\">...</span></span>\",\"<span class=\\\"formatted\\\" title=\\\"https://api.github.com/users/JetBrains/subscriptions\\\">https://api.github.com/users/JetBrain<span class=\\\"structural\\\">...</span></span>\"] }, \n",
       "{ name: \"<span title=\\\"organizations_url: String\\\">organizations_url</span>\", children: [], rightAlign: false, values: [\"<span class=\\\"formatted\\\" title=\\\"https://api.github.com/users/JetBrains/orgs\\\">https://api.github.com/users/JetBrain<span class=\\\"structural\\\">...</span></span>\",\"<span class=\\\"formatted\\\" title=\\\"https://api.github.com/users/JetBrains/orgs\\\">https://api.github.com/users/JetBrain<span class=\\\"structural\\\">...</span></span>\",\"<span class=\\\"formatted\\\" title=\\\"https://api.github.com/users/JetBrains/orgs\\\">https://api.github.com/users/JetBrain<span class=\\\"structural\\\">...</span></span>\",\"<span class=\\\"formatted\\\" title=\\\"https://api.github.com/users/JetBrains/orgs\\\">https://api.github.com/users/JetBrain<span class=\\\"structural\\\">...</span></span>\",\"<span class=\\\"formatted\\\" title=\\\"https://api.github.com/users/JetBrains/orgs\\\">https://api.github.com/users/JetBrain<span class=\\\"structural\\\">...</span></span>\"] }, \n",
       "{ name: \"<span title=\\\"repos_url: String\\\">repos_url</span>\", children: [], rightAlign: false, values: [\"<span class=\\\"formatted\\\" title=\\\"https://api.github.com/users/JetBrains/repos\\\">https://api.github.com/users/JetBrain<span class=\\\"structural\\\">...</span></span>\",\"<span class=\\\"formatted\\\" title=\\\"https://api.github.com/users/JetBrains/repos\\\">https://api.github.com/users/JetBrain<span class=\\\"structural\\\">...</span></span>\",\"<span class=\\\"formatted\\\" title=\\\"https://api.github.com/users/JetBrains/repos\\\">https://api.github.com/users/JetBrain<span class=\\\"structural\\\">...</span></span>\",\"<span class=\\\"formatted\\\" title=\\\"https://api.github.com/users/JetBrains/repos\\\">https://api.github.com/users/JetBrain<span class=\\\"structural\\\">...</span></span>\",\"<span class=\\\"formatted\\\" title=\\\"https://api.github.com/users/JetBrains/repos\\\">https://api.github.com/users/JetBrain<span class=\\\"structural\\\">...</span></span>\"] }, \n",
       "{ name: \"<span title=\\\"events_url: String\\\">events_url</span>\", children: [], rightAlign: false, values: [\"<span class=\\\"formatted\\\" title=\\\"https://api.github.com/users/JetBrains/events{/privacy}\\\">https://api.github.com/users/JetBrain<span class=\\\"structural\\\">...</span></span>\",\"<span class=\\\"formatted\\\" title=\\\"https://api.github.com/users/JetBrains/events{/privacy}\\\">https://api.github.com/users/JetBrain<span class=\\\"structural\\\">...</span></span>\",\"<span class=\\\"formatted\\\" title=\\\"https://api.github.com/users/JetBrains/events{/privacy}\\\">https://api.github.com/users/JetBrain<span class=\\\"structural\\\">...</span></span>\",\"<span class=\\\"formatted\\\" title=\\\"https://api.github.com/users/JetBrains/events{/privacy}\\\">https://api.github.com/users/JetBrain<span class=\\\"structural\\\">...</span></span>\",\"<span class=\\\"formatted\\\" title=\\\"https://api.github.com/users/JetBrains/events{/privacy}\\\">https://api.github.com/users/JetBrain<span class=\\\"structural\\\">...</span></span>\"] }, \n",
       "{ name: \"<span title=\\\"received_events_url: String\\\">received_events_url</span>\", children: [], rightAlign: false, values: [\"<span class=\\\"formatted\\\" title=\\\"https://api.github.com/users/JetBrains/received_events\\\">https://api.github.com/users/JetBrain<span class=\\\"structural\\\">...</span></span>\",\"<span class=\\\"formatted\\\" title=\\\"https://api.github.com/users/JetBrains/received_events\\\">https://api.github.com/users/JetBrain<span class=\\\"structural\\\">...</span></span>\",\"<span class=\\\"formatted\\\" title=\\\"https://api.github.com/users/JetBrains/received_events\\\">https://api.github.com/users/JetBrain<span class=\\\"structural\\\">...</span></span>\",\"<span class=\\\"formatted\\\" title=\\\"https://api.github.com/users/JetBrains/received_events\\\">https://api.github.com/users/JetBrain<span class=\\\"structural\\\">...</span></span>\",\"<span class=\\\"formatted\\\" title=\\\"https://api.github.com/users/JetBrains/received_events\\\">https://api.github.com/users/JetBrain<span class=\\\"structural\\\">...</span></span>\"] }, \n",
       "{ name: \"<span title=\\\"type: String\\\">type</span>\", children: [], rightAlign: false, values: [\"Organization\",\"Organization\",\"Organization\",\"Organization\",\"Organization\"] }, \n",
       "{ name: \"<span title=\\\"site_admin: Boolean\\\">site_admin</span>\", children: [], rightAlign: false, values: [\"false\",\"false\",\"false\",\"false\",\"false\"] }, \n",
       "{ name: \"<span title=\\\"owner: DataRow\\\">owner</span>\", children: [5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22], rightAlign: false, values: [\"<span class=\\\"formatted\\\" title=\\\"login: JetBrains\\nid: 878437\\nnode_id: MDEyOk9yZ2FuaXphdGlvbjg3ODQzNw==\\navatar_url: https://avatars.githubusercontent.com/u/878437?v=4\\ngravatar_id: \\nurl: https://api.github.com/users/JetBrains\\nhtml_url: https://github.com/JetBrains\\nfollowers_url: https://api.github.com/users/JetBrains/followers\\nfollowing_url: https://api.github.com/users/JetBrains/following{/other_user}\\ngists_url: https://api.github.com/users/JetBrains/gists{/gist_id}\\nstarred_url: https://api.github.com/users/JetBrains/starred{/owner}{/repo}\\nsubscriptions_url: https://api.github.com/users/JetBrains/subscriptions\\norganizations_url: https://api.github.com/users/JetBrains/orgs\\nrepos_url: https://api.github.com/users/JetBrains/repos\\nevents_url: https://api.github.com/users/JetBrains/events{/privacy}\\nreceived_events_url: https://api.github.com/users/JetBrains/received_events\\ntype: Organization\\nsite_admin: false\\\"><span class=\\\"structural\\\">{ </span><span class=\\\"structural\\\">login: </span>JetBrains<span class=\\\"structural\\\">, </span><span class=\\\"structural\\\">id: </span><span class=\\\"numbers\\\">878437</span><span class=\\\"structural\\\">, </span><span class=\\\"structural\\\">...</span><span class=\\\"structural\\\"> }</span></span>\",\"<span class=\\\"formatted\\\" title=\\\"login: JetBrains\\nid: 878437\\nnode_id: MDEyOk9yZ2FuaXphdGlvbjg3ODQzNw==\\navatar_url: https://avatars.githubusercontent.com/u/878437?v=4\\ngravatar_id: \\nurl: https://api.github.com/users/JetBrains\\nhtml_url: https://github.com/JetBrains\\nfollowers_url: https://api.github.com/users/JetBrains/followers\\nfollowing_url: https://api.github.com/users/JetBrains/following{/other_user}\\ngists_url: https://api.github.com/users/JetBrains/gists{/gist_id}\\nstarred_url: https://api.github.com/users/JetBrains/starred{/owner}{/repo}\\nsubscriptions_url: https://api.github.com/users/JetBrains/subscriptions\\norganizations_url: https://api.github.com/users/JetBrains/orgs\\nrepos_url: https://api.github.com/users/JetBrains/repos\\nevents_url: https://api.github.com/users/JetBrains/events{/privacy}\\nreceived_events_url: https://api.github.com/users/JetBrains/received_events\\ntype: Organization\\nsite_admin: false\\\"><span class=\\\"structural\\\">{ </span><span class=\\\"structural\\\">login: </span>JetBrains<span class=\\\"structural\\\">, </span><span class=\\\"structural\\\">id: </span><span class=\\\"numbers\\\">878437</span><span class=\\\"structural\\\">, </span><span class=\\\"structural\\\">...</span><span class=\\\"structural\\\"> }</span></span>\",\"<span class=\\\"formatted\\\" title=\\\"login: JetBrains\\nid: 878437\\nnode_id: MDEyOk9yZ2FuaXphdGlvbjg3ODQzNw==\\navatar_url: https://avatars.githubusercontent.com/u/878437?v=4\\ngravatar_id: \\nurl: https://api.github.com/users/JetBrains\\nhtml_url: https://github.com/JetBrains\\nfollowers_url: https://api.github.com/users/JetBrains/followers\\nfollowing_url: https://api.github.com/users/JetBrains/following{/other_user}\\ngists_url: https://api.github.com/users/JetBrains/gists{/gist_id}\\nstarred_url: https://api.github.com/users/JetBrains/starred{/owner}{/repo}\\nsubscriptions_url: https://api.github.com/users/JetBrains/subscriptions\\norganizations_url: https://api.github.com/users/JetBrains/orgs\\nrepos_url: https://api.github.com/users/JetBrains/repos\\nevents_url: https://api.github.com/users/JetBrains/events{/privacy}\\nreceived_events_url: https://api.github.com/users/JetBrains/received_events\\ntype: Organization\\nsite_admin: false\\\"><span class=\\\"structural\\\">{ </span><span class=\\\"structural\\\">login: </span>JetBrains<span class=\\\"structural\\\">, </span><span class=\\\"structural\\\">id: </span><span class=\\\"numbers\\\">878437</span><span class=\\\"structural\\\">, </span><span class=\\\"structural\\\">...</span><span class=\\\"structural\\\"> }</span></span>\",\"<span class=\\\"formatted\\\" title=\\\"login: JetBrains\\nid: 878437\\nnode_id: MDEyOk9yZ2FuaXphdGlvbjg3ODQzNw==\\navatar_url: https://avatars.githubusercontent.com/u/878437?v=4\\ngravatar_id: \\nurl: https://api.github.com/users/JetBrains\\nhtml_url: https://github.com/JetBrains\\nfollowers_url: https://api.github.com/users/JetBrains/followers\\nfollowing_url: https://api.github.com/users/JetBrains/following{/other_user}\\ngists_url: https://api.github.com/users/JetBrains/gists{/gist_id}\\nstarred_url: https://api.github.com/users/JetBrains/starred{/owner}{/repo}\\nsubscriptions_url: https://api.github.com/users/JetBrains/subscriptions\\norganizations_url: https://api.github.com/users/JetBrains/orgs\\nrepos_url: https://api.github.com/users/JetBrains/repos\\nevents_url: https://api.github.com/users/JetBrains/events{/privacy}\\nreceived_events_url: https://api.github.com/users/JetBrains/received_events\\ntype: Organization\\nsite_admin: false\\\"><span class=\\\"structural\\\">{ </span><span class=\\\"structural\\\">login: </span>JetBrains<span class=\\\"structural\\\">, </span><span class=\\\"structural\\\">id: </span><span class=\\\"numbers\\\">878437</span><span class=\\\"structural\\\">, </span><span class=\\\"structural\\\">...</span><span class=\\\"structural\\\"> }</span></span>\",\"<span class=\\\"formatted\\\" title=\\\"login: JetBrains\\nid: 878437\\nnode_id: MDEyOk9yZ2FuaXphdGlvbjg3ODQzNw==\\navatar_url: https://avatars.githubusercontent.com/u/878437?v=4\\ngravatar_id: \\nurl: https://api.github.com/users/JetBrains\\nhtml_url: https://github.com/JetBrains\\nfollowers_url: https://api.github.com/users/JetBrains/followers\\nfollowing_url: https://api.github.com/users/JetBrains/following{/other_user}\\ngists_url: https://api.github.com/users/JetBrains/gists{/gist_id}\\nstarred_url: https://api.github.com/users/JetBrains/starred{/owner}{/repo}\\nsubscriptions_url: https://api.github.com/users/JetBrains/subscriptions\\norganizations_url: https://api.github.com/users/JetBrains/orgs\\nrepos_url: https://api.github.com/users/JetBrains/repos\\nevents_url: https://api.github.com/users/JetBrains/events{/privacy}\\nreceived_events_url: https://api.github.com/users/JetBrains/received_events\\ntype: Organization\\nsite_admin: false\\\"><span class=\\\"structural\\\">{ </span><span class=\\\"structural\\\">login: </span>JetBrains<span class=\\\"structural\\\">, </span><span class=\\\"structural\\\">id: </span><span class=\\\"numbers\\\">878437</span><span class=\\\"structural\\\">, </span><span class=\\\"structural\\\">...</span><span class=\\\"structural\\\"> }</span></span>\"] }, \n",
       "{ name: \"<span title=\\\"html_url: String\\\">html_url</span>\", children: [], rightAlign: false, values: [\"https://github.com/JetBrains/JPS\",\"<span class=\\\"formatted\\\" title=\\\"https://github.com/JetBrains/YouTrackSharp\\\">https://github.com/JetBrains/YouTrack<span class=\\\"structural\\\">...</span></span>\",\"<span class=\\\"formatted\\\" title=\\\"https://github.com/JetBrains/colorSchemeTool\\\">https://github.com/JetBrains/colorSch<span class=\\\"structural\\\">...</span></span>\",\"https://github.com/JetBrains/ideavim\",\"<span class=\\\"formatted\\\" title=\\\"https://github.com/JetBrains/youtrack-vcs-hooks\\\">https://github.com/JetBrains/youtrack<span class=\\\"structural\\\">...</span></span>\"] }, \n",
       "{ name: \"<span title=\\\"description: String?\\\">description</span>\", children: [], rightAlign: false, values: [\"<span class=\\\"formatted\\\" title=\\\"Gant based build framework + dsl, with declarative project structure definition and automatic IntelliJ IDEA projects build\\\">Gant based build framework + dsl, wit<span class=\\\"structural\\\">...</span></span>\",\"<span class=\\\"formatted\\\" title=\\\".NET Standard 2.0 Library to access YouTrack API.\\\">.NET Standard 2.0 Library to access Y<span class=\\\"structural\\\">...</span></span>\",\"<span class=\\\"formatted\\\" title=\\\"\\\"><span class=\\\"null\\\">null</span></span>\",\"<span class=\\\"formatted\\\" title=\\\"Vim emulation plugin for IDEs based on the IntelliJ Platform\\\">Vim emulation plugin for IDEs based o<span class=\\\"structural\\\">...</span></span>\",\"<span class=\\\"formatted\\\" title=\\\"version control hooks to use with YouTrack bug tracker\\\">version control hooks to use with You<span class=\\\"structural\\\">...</span></span>\"] }, \n",
       "{ name: \"<span title=\\\"fork: Boolean\\\">fork</span>\", children: [], rightAlign: false, values: [\"false\",\"false\",\"false\",\"false\",\"false\"] }, \n",
       "{ name: \"<span title=\\\"url: String\\\">url</span>\", children: [], rightAlign: false, values: [\"<span class=\\\"formatted\\\" title=\\\"https://api.github.com/repos/JetBrains/JPS\\\">https://api.github.com/repos/JetBrain<span class=\\\"structural\\\">...</span></span>\",\"<span class=\\\"formatted\\\" title=\\\"https://api.github.com/repos/JetBrains/YouTrackSharp\\\">https://api.github.com/repos/JetBrain<span class=\\\"structural\\\">...</span></span>\",\"<span class=\\\"formatted\\\" title=\\\"https://api.github.com/repos/JetBrains/colorSchemeTool\\\">https://api.github.com/repos/JetBrain<span class=\\\"structural\\\">...</span></span>\",\"<span class=\\\"formatted\\\" title=\\\"https://api.github.com/repos/JetBrains/ideavim\\\">https://api.github.com/repos/JetBrain<span class=\\\"structural\\\">...</span></span>\",\"<span class=\\\"formatted\\\" title=\\\"https://api.github.com/repos/JetBrains/youtrack-vcs-hooks\\\">https://api.github.com/repos/JetBrain<span class=\\\"structural\\\">...</span></span>\"] }, \n",
       "{ name: \"<span title=\\\"forks_url: String\\\">forks_url</span>\", children: [], rightAlign: false, values: [\"<span class=\\\"formatted\\\" title=\\\"https://api.github.com/repos/JetBrains/JPS/forks\\\">https://api.github.com/repos/JetBrain<span class=\\\"structural\\\">...</span></span>\",\"<span class=\\\"formatted\\\" title=\\\"https://api.github.com/repos/JetBrains/YouTrackSharp/forks\\\">https://api.github.com/repos/JetBrain<span class=\\\"structural\\\">...</span></span>\",\"<span class=\\\"formatted\\\" title=\\\"https://api.github.com/repos/JetBrains/colorSchemeTool/forks\\\">https://api.github.com/repos/JetBrain<span class=\\\"structural\\\">...</span></span>\",\"<span class=\\\"formatted\\\" title=\\\"https://api.github.com/repos/JetBrains/ideavim/forks\\\">https://api.github.com/repos/JetBrain<span class=\\\"structural\\\">...</span></span>\",\"<span class=\\\"formatted\\\" title=\\\"https://api.github.com/repos/JetBrains/youtrack-vcs-hooks/forks\\\">https://api.github.com/repos/JetBrain<span class=\\\"structural\\\">...</span></span>\"] }, \n",
       "{ name: \"<span title=\\\"keys_url: String\\\">keys_url</span>\", children: [], rightAlign: false, values: [\"<span class=\\\"formatted\\\" title=\\\"https://api.github.com/repos/JetBrains/JPS/keys{/key_id}\\\">https://api.github.com/repos/JetBrain<span class=\\\"structural\\\">...</span></span>\",\"<span class=\\\"formatted\\\" title=\\\"https://api.github.com/repos/JetBrains/YouTrackSharp/keys{/key_id}\\\">https://api.github.com/repos/JetBrain<span class=\\\"structural\\\">...</span></span>\",\"<span class=\\\"formatted\\\" title=\\\"https://api.github.com/repos/JetBrains/colorSchemeTool/keys{/key_id}\\\">https://api.github.com/repos/JetBrain<span class=\\\"structural\\\">...</span></span>\",\"<span class=\\\"formatted\\\" title=\\\"https://api.github.com/repos/JetBrains/ideavim/keys{/key_id}\\\">https://api.github.com/repos/JetBrain<span class=\\\"structural\\\">...</span></span>\",\"<span class=\\\"formatted\\\" title=\\\"https://api.github.com/repos/JetBrains/youtrack-vcs-hooks/keys{/key_id}\\\">https://api.github.com/repos/JetBrain<span class=\\\"structural\\\">...</span></span>\"] }, \n",
       "{ name: \"<span title=\\\"collaborators_url: String\\\">collaborators_url</span>\", children: [], rightAlign: false, values: [\"<span class=\\\"formatted\\\" title=\\\"https://api.github.com/repos/JetBrains/JPS/collaborators{/collaborator}\\\">https://api.github.com/repos/JetBrain<span class=\\\"structural\\\">...</span></span>\",\"<span class=\\\"formatted\\\" title=\\\"https://api.github.com/repos/JetBrains/YouTrackSharp/collaborators{/collaborator}\\\">https://api.github.com/repos/JetBrain<span class=\\\"structural\\\">...</span></span>\",\"<span class=\\\"formatted\\\" title=\\\"https://api.github.com/repos/JetBrains/colorSchemeTool/collaborators{/collaborator}\\\">https://api.github.com/repos/JetBrain<span class=\\\"structural\\\">...</span></span>\",\"<span class=\\\"formatted\\\" title=\\\"https://api.github.com/repos/JetBrains/ideavim/collaborators{/collaborator}\\\">https://api.github.com/repos/JetBrain<span class=\\\"structural\\\">...</span></span>\",\"<span class=\\\"formatted\\\" title=\\\"https://api.github.com/repos/JetBrains/youtrack-vcs-hooks/collaborators{/collaborator}\\\">https://api.github.com/repos/JetBrain<span class=\\\"structural\\\">...</span></span>\"] }, \n",
       "{ name: \"<span title=\\\"teams_url: String\\\">teams_url</span>\", children: [], rightAlign: false, values: [\"<span class=\\\"formatted\\\" title=\\\"https://api.github.com/repos/JetBrains/JPS/teams\\\">https://api.github.com/repos/JetBrain<span class=\\\"structural\\\">...</span></span>\",\"<span class=\\\"formatted\\\" title=\\\"https://api.github.com/repos/JetBrains/YouTrackSharp/teams\\\">https://api.github.com/repos/JetBrain<span class=\\\"structural\\\">...</span></span>\",\"<span class=\\\"formatted\\\" title=\\\"https://api.github.com/repos/JetBrains/colorSchemeTool/teams\\\">https://api.github.com/repos/JetBrain<span class=\\\"structural\\\">...</span></span>\",\"<span class=\\\"formatted\\\" title=\\\"https://api.github.com/repos/JetBrains/ideavim/teams\\\">https://api.github.com/repos/JetBrain<span class=\\\"structural\\\">...</span></span>\",\"<span class=\\\"formatted\\\" title=\\\"https://api.github.com/repos/JetBrains/youtrack-vcs-hooks/teams\\\">https://api.github.com/repos/JetBrain<span class=\\\"structural\\\">...</span></span>\"] }, \n",
       "{ name: \"<span title=\\\"hooks_url: String\\\">hooks_url</span>\", children: [], rightAlign: false, values: [\"<span class=\\\"formatted\\\" title=\\\"https://api.github.com/repos/JetBrains/JPS/hooks\\\">https://api.github.com/repos/JetBrain<span class=\\\"structural\\\">...</span></span>\",\"<span class=\\\"formatted\\\" title=\\\"https://api.github.com/repos/JetBrains/YouTrackSharp/hooks\\\">https://api.github.com/repos/JetBrain<span class=\\\"structural\\\">...</span></span>\",\"<span class=\\\"formatted\\\" title=\\\"https://api.github.com/repos/JetBrains/colorSchemeTool/hooks\\\">https://api.github.com/repos/JetBrain<span class=\\\"structural\\\">...</span></span>\",\"<span class=\\\"formatted\\\" title=\\\"https://api.github.com/repos/JetBrains/ideavim/hooks\\\">https://api.github.com/repos/JetBrain<span class=\\\"structural\\\">...</span></span>\",\"<span class=\\\"formatted\\\" title=\\\"https://api.github.com/repos/JetBrains/youtrack-vcs-hooks/hooks\\\">https://api.github.com/repos/JetBrain<span class=\\\"structural\\\">...</span></span>\"] }, \n",
       "{ name: \"<span title=\\\"issue_events_url: String\\\">issue_events_url</span>\", children: [], rightAlign: false, values: [\"<span class=\\\"formatted\\\" title=\\\"https://api.github.com/repos/JetBrains/JPS/issues/events{/number}\\\">https://api.github.com/repos/JetBrain<span class=\\\"structural\\\">...</span></span>\",\"<span class=\\\"formatted\\\" title=\\\"https://api.github.com/repos/JetBrains/YouTrackSharp/issues/events{/number}\\\">https://api.github.com/repos/JetBrain<span class=\\\"structural\\\">...</span></span>\",\"<span class=\\\"formatted\\\" title=\\\"https://api.github.com/repos/JetBrains/colorSchemeTool/issues/events{/number}\\\">https://api.github.com/repos/JetBrain<span class=\\\"structural\\\">...</span></span>\",\"<span class=\\\"formatted\\\" title=\\\"https://api.github.com/repos/JetBrains/ideavim/issues/events{/number}\\\">https://api.github.com/repos/JetBrain<span class=\\\"structural\\\">...</span></span>\",\"<span class=\\\"formatted\\\" title=\\\"https://api.github.com/repos/JetBrains/youtrack-vcs-hooks/issues/events{/number}\\\">https://api.github.com/repos/JetBrain<span class=\\\"structural\\\">...</span></span>\"] }, \n",
       "{ name: \"<span title=\\\"events_url: String\\\">events_url</span>\", children: [], rightAlign: false, values: [\"<span class=\\\"formatted\\\" title=\\\"https://api.github.com/repos/JetBrains/JPS/events\\\">https://api.github.com/repos/JetBrain<span class=\\\"structural\\\">...</span></span>\",\"<span class=\\\"formatted\\\" title=\\\"https://api.github.com/repos/JetBrains/YouTrackSharp/events\\\">https://api.github.com/repos/JetBrain<span class=\\\"structural\\\">...</span></span>\",\"<span class=\\\"formatted\\\" title=\\\"https://api.github.com/repos/JetBrains/colorSchemeTool/events\\\">https://api.github.com/repos/JetBrain<span class=\\\"structural\\\">...</span></span>\",\"<span class=\\\"formatted\\\" title=\\\"https://api.github.com/repos/JetBrains/ideavim/events\\\">https://api.github.com/repos/JetBrain<span class=\\\"structural\\\">...</span></span>\",\"<span class=\\\"formatted\\\" title=\\\"https://api.github.com/repos/JetBrains/youtrack-vcs-hooks/events\\\">https://api.github.com/repos/JetBrain<span class=\\\"structural\\\">...</span></span>\"] }, \n",
       "{ name: \"<span title=\\\"assignees_url: String\\\">assignees_url</span>\", children: [], rightAlign: false, values: [\"<span class=\\\"formatted\\\" title=\\\"https://api.github.com/repos/JetBrains/JPS/assignees{/user}\\\">https://api.github.com/repos/JetBrain<span class=\\\"structural\\\">...</span></span>\",\"<span class=\\\"formatted\\\" title=\\\"https://api.github.com/repos/JetBrains/YouTrackSharp/assignees{/user}\\\">https://api.github.com/repos/JetBrain<span class=\\\"structural\\\">...</span></span>\",\"<span class=\\\"formatted\\\" title=\\\"https://api.github.com/repos/JetBrains/colorSchemeTool/assignees{/user}\\\">https://api.github.com/repos/JetBrain<span class=\\\"structural\\\">...</span></span>\",\"<span class=\\\"formatted\\\" title=\\\"https://api.github.com/repos/JetBrains/ideavim/assignees{/user}\\\">https://api.github.com/repos/JetBrain<span class=\\\"structural\\\">...</span></span>\",\"<span class=\\\"formatted\\\" title=\\\"https://api.github.com/repos/JetBrains/youtrack-vcs-hooks/assignees{/user}\\\">https://api.github.com/repos/JetBrain<span class=\\\"structural\\\">...</span></span>\"] }, \n",
       "{ name: \"<span title=\\\"branches_url: String\\\">branches_url</span>\", children: [], rightAlign: false, values: [\"<span class=\\\"formatted\\\" title=\\\"https://api.github.com/repos/JetBrains/JPS/branches{/branch}\\\">https://api.github.com/repos/JetBrain<span class=\\\"structural\\\">...</span></span>\",\"<span class=\\\"formatted\\\" title=\\\"https://api.github.com/repos/JetBrains/YouTrackSharp/branches{/branch}\\\">https://api.github.com/repos/JetBrain<span class=\\\"structural\\\">...</span></span>\",\"<span class=\\\"formatted\\\" title=\\\"https://api.github.com/repos/JetBrains/colorSchemeTool/branches{/branch}\\\">https://api.github.com/repos/JetBrain<span class=\\\"structural\\\">...</span></span>\",\"<span class=\\\"formatted\\\" title=\\\"https://api.github.com/repos/JetBrains/ideavim/branches{/branch}\\\">https://api.github.com/repos/JetBrain<span class=\\\"structural\\\">...</span></span>\",\"<span class=\\\"formatted\\\" title=\\\"https://api.github.com/repos/JetBrains/youtrack-vcs-hooks/branches{/branch}\\\">https://api.github.com/repos/JetBrain<span class=\\\"structural\\\">...</span></span>\"] }, \n",
       "{ name: \"<span title=\\\"tags_url: String\\\">tags_url</span>\", children: [], rightAlign: false, values: [\"<span class=\\\"formatted\\\" title=\\\"https://api.github.com/repos/JetBrains/JPS/tags\\\">https://api.github.com/repos/JetBrain<span class=\\\"structural\\\">...</span></span>\",\"<span class=\\\"formatted\\\" title=\\\"https://api.github.com/repos/JetBrains/YouTrackSharp/tags\\\">https://api.github.com/repos/JetBrain<span class=\\\"structural\\\">...</span></span>\",\"<span class=\\\"formatted\\\" title=\\\"https://api.github.com/repos/JetBrains/colorSchemeTool/tags\\\">https://api.github.com/repos/JetBrain<span class=\\\"structural\\\">...</span></span>\",\"<span class=\\\"formatted\\\" title=\\\"https://api.github.com/repos/JetBrains/ideavim/tags\\\">https://api.github.com/repos/JetBrain<span class=\\\"structural\\\">...</span></span>\",\"<span class=\\\"formatted\\\" title=\\\"https://api.github.com/repos/JetBrains/youtrack-vcs-hooks/tags\\\">https://api.github.com/repos/JetBrain<span class=\\\"structural\\\">...</span></span>\"] }, \n",
       "{ name: \"<span title=\\\"blobs_url: String\\\">blobs_url</span>\", children: [], rightAlign: false, values: [\"<span class=\\\"formatted\\\" title=\\\"https://api.github.com/repos/JetBrains/JPS/git/blobs{/sha}\\\">https://api.github.com/repos/JetBrain<span class=\\\"structural\\\">...</span></span>\",\"<span class=\\\"formatted\\\" title=\\\"https://api.github.com/repos/JetBrains/YouTrackSharp/git/blobs{/sha}\\\">https://api.github.com/repos/JetBrain<span class=\\\"structural\\\">...</span></span>\",\"<span class=\\\"formatted\\\" title=\\\"https://api.github.com/repos/JetBrains/colorSchemeTool/git/blobs{/sha}\\\">https://api.github.com/repos/JetBrain<span class=\\\"structural\\\">...</span></span>\",\"<span class=\\\"formatted\\\" title=\\\"https://api.github.com/repos/JetBrains/ideavim/git/blobs{/sha}\\\">https://api.github.com/repos/JetBrain<span class=\\\"structural\\\">...</span></span>\",\"<span class=\\\"formatted\\\" title=\\\"https://api.github.com/repos/JetBrains/youtrack-vcs-hooks/git/blobs{/sha}\\\">https://api.github.com/repos/JetBrain<span class=\\\"structural\\\">...</span></span>\"] }, \n",
       "{ name: \"<span title=\\\"git_tags_url: String\\\">git_tags_url</span>\", children: [], rightAlign: false, values: [\"<span class=\\\"formatted\\\" title=\\\"https://api.github.com/repos/JetBrains/JPS/git/tags{/sha}\\\">https://api.github.com/repos/JetBrain<span class=\\\"structural\\\">...</span></span>\",\"<span class=\\\"formatted\\\" title=\\\"https://api.github.com/repos/JetBrains/YouTrackSharp/git/tags{/sha}\\\">https://api.github.com/repos/JetBrain<span class=\\\"structural\\\">...</span></span>\",\"<span class=\\\"formatted\\\" title=\\\"https://api.github.com/repos/JetBrains/colorSchemeTool/git/tags{/sha}\\\">https://api.github.com/repos/JetBrain<span class=\\\"structural\\\">...</span></span>\",\"<span class=\\\"formatted\\\" title=\\\"https://api.github.com/repos/JetBrains/ideavim/git/tags{/sha}\\\">https://api.github.com/repos/JetBrain<span class=\\\"structural\\\">...</span></span>\",\"<span class=\\\"formatted\\\" title=\\\"https://api.github.com/repos/JetBrains/youtrack-vcs-hooks/git/tags{/sha}\\\">https://api.github.com/repos/JetBrain<span class=\\\"structural\\\">...</span></span>\"] }, \n",
       "{ name: \"<span title=\\\"git_refs_url: String\\\">git_refs_url</span>\", children: [], rightAlign: false, values: [\"<span class=\\\"formatted\\\" title=\\\"https://api.github.com/repos/JetBrains/JPS/git/refs{/sha}\\\">https://api.github.com/repos/JetBrain<span class=\\\"structural\\\">...</span></span>\",\"<span class=\\\"formatted\\\" title=\\\"https://api.github.com/repos/JetBrains/YouTrackSharp/git/refs{/sha}\\\">https://api.github.com/repos/JetBrain<span class=\\\"structural\\\">...</span></span>\",\"<span class=\\\"formatted\\\" title=\\\"https://api.github.com/repos/JetBrains/colorSchemeTool/git/refs{/sha}\\\">https://api.github.com/repos/JetBrain<span class=\\\"structural\\\">...</span></span>\",\"<span class=\\\"formatted\\\" title=\\\"https://api.github.com/repos/JetBrains/ideavim/git/refs{/sha}\\\">https://api.github.com/repos/JetBrain<span class=\\\"structural\\\">...</span></span>\",\"<span class=\\\"formatted\\\" title=\\\"https://api.github.com/repos/JetBrains/youtrack-vcs-hooks/git/refs{/sha}\\\">https://api.github.com/repos/JetBrain<span class=\\\"structural\\\">...</span></span>\"] }, \n",
       "{ name: \"<span title=\\\"trees_url: String\\\">trees_url</span>\", children: [], rightAlign: false, values: [\"<span class=\\\"formatted\\\" title=\\\"https://api.github.com/repos/JetBrains/JPS/git/trees{/sha}\\\">https://api.github.com/repos/JetBrain<span class=\\\"structural\\\">...</span></span>\",\"<span class=\\\"formatted\\\" title=\\\"https://api.github.com/repos/JetBrains/YouTrackSharp/git/trees{/sha}\\\">https://api.github.com/repos/JetBrain<span class=\\\"structural\\\">...</span></span>\",\"<span class=\\\"formatted\\\" title=\\\"https://api.github.com/repos/JetBrains/colorSchemeTool/git/trees{/sha}\\\">https://api.github.com/repos/JetBrain<span class=\\\"structural\\\">...</span></span>\",\"<span class=\\\"formatted\\\" title=\\\"https://api.github.com/repos/JetBrains/ideavim/git/trees{/sha}\\\">https://api.github.com/repos/JetBrain<span class=\\\"structural\\\">...</span></span>\",\"<span class=\\\"formatted\\\" title=\\\"https://api.github.com/repos/JetBrains/youtrack-vcs-hooks/git/trees{/sha}\\\">https://api.github.com/repos/JetBrain<span class=\\\"structural\\\">...</span></span>\"] }, \n",
       "{ name: \"<span title=\\\"statuses_url: String\\\">statuses_url</span>\", children: [], rightAlign: false, values: [\"<span class=\\\"formatted\\\" title=\\\"https://api.github.com/repos/JetBrains/JPS/statuses/{sha}\\\">https://api.github.com/repos/JetBrain<span class=\\\"structural\\\">...</span></span>\",\"<span class=\\\"formatted\\\" title=\\\"https://api.github.com/repos/JetBrains/YouTrackSharp/statuses/{sha}\\\">https://api.github.com/repos/JetBrain<span class=\\\"structural\\\">...</span></span>\",\"<span class=\\\"formatted\\\" title=\\\"https://api.github.com/repos/JetBrains/colorSchemeTool/statuses/{sha}\\\">https://api.github.com/repos/JetBrain<span class=\\\"structural\\\">...</span></span>\",\"<span class=\\\"formatted\\\" title=\\\"https://api.github.com/repos/JetBrains/ideavim/statuses/{sha}\\\">https://api.github.com/repos/JetBrain<span class=\\\"structural\\\">...</span></span>\",\"<span class=\\\"formatted\\\" title=\\\"https://api.github.com/repos/JetBrains/youtrack-vcs-hooks/statuses/{sha}\\\">https://api.github.com/repos/JetBrain<span class=\\\"structural\\\">...</span></span>\"] }, \n",
       "{ name: \"<span title=\\\"languages_url: String\\\">languages_url</span>\", children: [], rightAlign: false, values: [\"<span class=\\\"formatted\\\" title=\\\"https://api.github.com/repos/JetBrains/JPS/languages\\\">https://api.github.com/repos/JetBrain<span class=\\\"structural\\\">...</span></span>\",\"<span class=\\\"formatted\\\" title=\\\"https://api.github.com/repos/JetBrains/YouTrackSharp/languages\\\">https://api.github.com/repos/JetBrain<span class=\\\"structural\\\">...</span></span>\",\"<span class=\\\"formatted\\\" title=\\\"https://api.github.com/repos/JetBrains/colorSchemeTool/languages\\\">https://api.github.com/repos/JetBrain<span class=\\\"structural\\\">...</span></span>\",\"<span class=\\\"formatted\\\" title=\\\"https://api.github.com/repos/JetBrains/ideavim/languages\\\">https://api.github.com/repos/JetBrain<span class=\\\"structural\\\">...</span></span>\",\"<span class=\\\"formatted\\\" title=\\\"https://api.github.com/repos/JetBrains/youtrack-vcs-hooks/languages\\\">https://api.github.com/repos/JetBrain<span class=\\\"structural\\\">...</span></span>\"] }, \n",
       "{ name: \"<span title=\\\"stargazers_url: String\\\">stargazers_url</span>\", children: [], rightAlign: false, values: [\"<span class=\\\"formatted\\\" title=\\\"https://api.github.com/repos/JetBrains/JPS/stargazers\\\">https://api.github.com/repos/JetBrain<span class=\\\"structural\\\">...</span></span>\",\"<span class=\\\"formatted\\\" title=\\\"https://api.github.com/repos/JetBrains/YouTrackSharp/stargazers\\\">https://api.github.com/repos/JetBrain<span class=\\\"structural\\\">...</span></span>\",\"<span class=\\\"formatted\\\" title=\\\"https://api.github.com/repos/JetBrains/colorSchemeTool/stargazers\\\">https://api.github.com/repos/JetBrain<span class=\\\"structural\\\">...</span></span>\",\"<span class=\\\"formatted\\\" title=\\\"https://api.github.com/repos/JetBrains/ideavim/stargazers\\\">https://api.github.com/repos/JetBrain<span class=\\\"structural\\\">...</span></span>\",\"<span class=\\\"formatted\\\" title=\\\"https://api.github.com/repos/JetBrains/youtrack-vcs-hooks/stargazers\\\">https://api.github.com/repos/JetBrain<span class=\\\"structural\\\">...</span></span>\"] }, \n",
       "{ name: \"<span title=\\\"contributors_url: String\\\">contributors_url</span>\", children: [], rightAlign: false, values: [\"<span class=\\\"formatted\\\" title=\\\"https://api.github.com/repos/JetBrains/JPS/contributors\\\">https://api.github.com/repos/JetBrain<span class=\\\"structural\\\">...</span></span>\",\"<span class=\\\"formatted\\\" title=\\\"https://api.github.com/repos/JetBrains/YouTrackSharp/contributors\\\">https://api.github.com/repos/JetBrain<span class=\\\"structural\\\">...</span></span>\",\"<span class=\\\"formatted\\\" title=\\\"https://api.github.com/repos/JetBrains/colorSchemeTool/contributors\\\">https://api.github.com/repos/JetBrain<span class=\\\"structural\\\">...</span></span>\",\"<span class=\\\"formatted\\\" title=\\\"https://api.github.com/repos/JetBrains/ideavim/contributors\\\">https://api.github.com/repos/JetBrain<span class=\\\"structural\\\">...</span></span>\",\"<span class=\\\"formatted\\\" title=\\\"https://api.github.com/repos/JetBrains/youtrack-vcs-hooks/contributors\\\">https://api.github.com/repos/JetBrain<span class=\\\"structural\\\">...</span></span>\"] }, \n",
       "{ name: \"<span title=\\\"subscribers_url: String\\\">subscribers_url</span>\", children: [], rightAlign: false, values: [\"<span class=\\\"formatted\\\" title=\\\"https://api.github.com/repos/JetBrains/JPS/subscribers\\\">https://api.github.com/repos/JetBrain<span class=\\\"structural\\\">...</span></span>\",\"<span class=\\\"formatted\\\" title=\\\"https://api.github.com/repos/JetBrains/YouTrackSharp/subscribers\\\">https://api.github.com/repos/JetBrain<span class=\\\"structural\\\">...</span></span>\",\"<span class=\\\"formatted\\\" title=\\\"https://api.github.com/repos/JetBrains/colorSchemeTool/subscribers\\\">https://api.github.com/repos/JetBrain<span class=\\\"structural\\\">...</span></span>\",\"<span class=\\\"formatted\\\" title=\\\"https://api.github.com/repos/JetBrains/ideavim/subscribers\\\">https://api.github.com/repos/JetBrain<span class=\\\"structural\\\">...</span></span>\",\"<span class=\\\"formatted\\\" title=\\\"https://api.github.com/repos/JetBrains/youtrack-vcs-hooks/subscribers\\\">https://api.github.com/repos/JetBrain<span class=\\\"structural\\\">...</span></span>\"] }, \n",
       "{ name: \"<span title=\\\"subscription_url: String\\\">subscription_url</span>\", children: [], rightAlign: false, values: [\"<span class=\\\"formatted\\\" title=\\\"https://api.github.com/repos/JetBrains/JPS/subscription\\\">https://api.github.com/repos/JetBrain<span class=\\\"structural\\\">...</span></span>\",\"<span class=\\\"formatted\\\" title=\\\"https://api.github.com/repos/JetBrains/YouTrackSharp/subscription\\\">https://api.github.com/repos/JetBrain<span class=\\\"structural\\\">...</span></span>\",\"<span class=\\\"formatted\\\" title=\\\"https://api.github.com/repos/JetBrains/colorSchemeTool/subscription\\\">https://api.github.com/repos/JetBrain<span class=\\\"structural\\\">...</span></span>\",\"<span class=\\\"formatted\\\" title=\\\"https://api.github.com/repos/JetBrains/ideavim/subscription\\\">https://api.github.com/repos/JetBrain<span class=\\\"structural\\\">...</span></span>\",\"<span class=\\\"formatted\\\" title=\\\"https://api.github.com/repos/JetBrains/youtrack-vcs-hooks/subscription\\\">https://api.github.com/repos/JetBrain<span class=\\\"structural\\\">...</span></span>\"] }, \n",
       "{ name: \"<span title=\\\"commits_url: String\\\">commits_url</span>\", children: [], rightAlign: false, values: [\"<span class=\\\"formatted\\\" title=\\\"https://api.github.com/repos/JetBrains/JPS/commits{/sha}\\\">https://api.github.com/repos/JetBrain<span class=\\\"structural\\\">...</span></span>\",\"<span class=\\\"formatted\\\" title=\\\"https://api.github.com/repos/JetBrains/YouTrackSharp/commits{/sha}\\\">https://api.github.com/repos/JetBrain<span class=\\\"structural\\\">...</span></span>\",\"<span class=\\\"formatted\\\" title=\\\"https://api.github.com/repos/JetBrains/colorSchemeTool/commits{/sha}\\\">https://api.github.com/repos/JetBrain<span class=\\\"structural\\\">...</span></span>\",\"<span class=\\\"formatted\\\" title=\\\"https://api.github.com/repos/JetBrains/ideavim/commits{/sha}\\\">https://api.github.com/repos/JetBrain<span class=\\\"structural\\\">...</span></span>\",\"<span class=\\\"formatted\\\" title=\\\"https://api.github.com/repos/JetBrains/youtrack-vcs-hooks/commits{/sha}\\\">https://api.github.com/repos/JetBrain<span class=\\\"structural\\\">...</span></span>\"] }, \n",
       "{ name: \"<span title=\\\"git_commits_url: String\\\">git_commits_url</span>\", children: [], rightAlign: false, values: [\"<span class=\\\"formatted\\\" title=\\\"https://api.github.com/repos/JetBrains/JPS/git/commits{/sha}\\\">https://api.github.com/repos/JetBrain<span class=\\\"structural\\\">...</span></span>\",\"<span class=\\\"formatted\\\" title=\\\"https://api.github.com/repos/JetBrains/YouTrackSharp/git/commits{/sha}\\\">https://api.github.com/repos/JetBrain<span class=\\\"structural\\\">...</span></span>\",\"<span class=\\\"formatted\\\" title=\\\"https://api.github.com/repos/JetBrains/colorSchemeTool/git/commits{/sha}\\\">https://api.github.com/repos/JetBrain<span class=\\\"structural\\\">...</span></span>\",\"<span class=\\\"formatted\\\" title=\\\"https://api.github.com/repos/JetBrains/ideavim/git/commits{/sha}\\\">https://api.github.com/repos/JetBrain<span class=\\\"structural\\\">...</span></span>\",\"<span class=\\\"formatted\\\" title=\\\"https://api.github.com/repos/JetBrains/youtrack-vcs-hooks/git/commits{/sha}\\\">https://api.github.com/repos/JetBrain<span class=\\\"structural\\\">...</span></span>\"] }, \n",
       "{ name: \"<span title=\\\"comments_url: String\\\">comments_url</span>\", children: [], rightAlign: false, values: [\"<span class=\\\"formatted\\\" title=\\\"https://api.github.com/repos/JetBrains/JPS/comments{/number}\\\">https://api.github.com/repos/JetBrain<span class=\\\"structural\\\">...</span></span>\",\"<span class=\\\"formatted\\\" title=\\\"https://api.github.com/repos/JetBrains/YouTrackSharp/comments{/number}\\\">https://api.github.com/repos/JetBrain<span class=\\\"structural\\\">...</span></span>\",\"<span class=\\\"formatted\\\" title=\\\"https://api.github.com/repos/JetBrains/colorSchemeTool/comments{/number}\\\">https://api.github.com/repos/JetBrain<span class=\\\"structural\\\">...</span></span>\",\"<span class=\\\"formatted\\\" title=\\\"https://api.github.com/repos/JetBrains/ideavim/comments{/number}\\\">https://api.github.com/repos/JetBrain<span class=\\\"structural\\\">...</span></span>\",\"<span class=\\\"formatted\\\" title=\\\"https://api.github.com/repos/JetBrains/youtrack-vcs-hooks/comments{/number}\\\">https://api.github.com/repos/JetBrain<span class=\\\"structural\\\">...</span></span>\"] }, \n",
       "{ name: \"<span title=\\\"issue_comment_url: String\\\">issue_comment_url</span>\", children: [], rightAlign: false, values: [\"<span class=\\\"formatted\\\" title=\\\"https://api.github.com/repos/JetBrains/JPS/issues/comments{/number}\\\">https://api.github.com/repos/JetBrain<span class=\\\"structural\\\">...</span></span>\",\"<span class=\\\"formatted\\\" title=\\\"https://api.github.com/repos/JetBrains/YouTrackSharp/issues/comments{/number}\\\">https://api.github.com/repos/JetBrain<span class=\\\"structural\\\">...</span></span>\",\"<span class=\\\"formatted\\\" title=\\\"https://api.github.com/repos/JetBrains/colorSchemeTool/issues/comments{/number}\\\">https://api.github.com/repos/JetBrain<span class=\\\"structural\\\">...</span></span>\",\"<span class=\\\"formatted\\\" title=\\\"https://api.github.com/repos/JetBrains/ideavim/issues/comments{/number}\\\">https://api.github.com/repos/JetBrain<span class=\\\"structural\\\">...</span></span>\",\"<span class=\\\"formatted\\\" title=\\\"https://api.github.com/repos/JetBrains/youtrack-vcs-hooks/issues/comments{/number}\\\">https://api.github.com/repos/JetBrain<span class=\\\"structural\\\">...</span></span>\"] }, \n",
       "{ name: \"<span title=\\\"contents_url: String\\\">contents_url</span>\", children: [], rightAlign: false, values: [\"<span class=\\\"formatted\\\" title=\\\"https://api.github.com/repos/JetBrains/JPS/contents/{+path}\\\">https://api.github.com/repos/JetBrain<span class=\\\"structural\\\">...</span></span>\",\"<span class=\\\"formatted\\\" title=\\\"https://api.github.com/repos/JetBrains/YouTrackSharp/contents/{+path}\\\">https://api.github.com/repos/JetBrain<span class=\\\"structural\\\">...</span></span>\",\"<span class=\\\"formatted\\\" title=\\\"https://api.github.com/repos/JetBrains/colorSchemeTool/contents/{+path}\\\">https://api.github.com/repos/JetBrain<span class=\\\"structural\\\">...</span></span>\",\"<span class=\\\"formatted\\\" title=\\\"https://api.github.com/repos/JetBrains/ideavim/contents/{+path}\\\">https://api.github.com/repos/JetBrain<span class=\\\"structural\\\">...</span></span>\",\"<span class=\\\"formatted\\\" title=\\\"https://api.github.com/repos/JetBrains/youtrack-vcs-hooks/contents/{+path}\\\">https://api.github.com/repos/JetBrain<span class=\\\"structural\\\">...</span></span>\"] }, \n",
       "{ name: \"<span title=\\\"compare_url: String\\\">compare_url</span>\", children: [], rightAlign: false, values: [\"<span class=\\\"formatted\\\" title=\\\"https://api.github.com/repos/JetBrains/JPS/compare/{base}...{head}\\\">https://api.github.com/repos/JetBrain<span class=\\\"structural\\\">...</span></span>\",\"<span class=\\\"formatted\\\" title=\\\"https://api.github.com/repos/JetBrains/YouTrackSharp/compare/{base}...{head}\\\">https://api.github.com/repos/JetBrain<span class=\\\"structural\\\">...</span></span>\",\"<span class=\\\"formatted\\\" title=\\\"https://api.github.com/repos/JetBrains/colorSchemeTool/compare/{base}...{head}\\\">https://api.github.com/repos/JetBrain<span class=\\\"structural\\\">...</span></span>\",\"<span class=\\\"formatted\\\" title=\\\"https://api.github.com/repos/JetBrains/ideavim/compare/{base}...{head}\\\">https://api.github.com/repos/JetBrain<span class=\\\"structural\\\">...</span></span>\",\"<span class=\\\"formatted\\\" title=\\\"https://api.github.com/repos/JetBrains/youtrack-vcs-hooks/compare/{base}...{head}\\\">https://api.github.com/repos/JetBrain<span class=\\\"structural\\\">...</span></span>\"] }, \n",
       "{ name: \"<span title=\\\"merges_url: String\\\">merges_url</span>\", children: [], rightAlign: false, values: [\"<span class=\\\"formatted\\\" title=\\\"https://api.github.com/repos/JetBrains/JPS/merges\\\">https://api.github.com/repos/JetBrain<span class=\\\"structural\\\">...</span></span>\",\"<span class=\\\"formatted\\\" title=\\\"https://api.github.com/repos/JetBrains/YouTrackSharp/merges\\\">https://api.github.com/repos/JetBrain<span class=\\\"structural\\\">...</span></span>\",\"<span class=\\\"formatted\\\" title=\\\"https://api.github.com/repos/JetBrains/colorSchemeTool/merges\\\">https://api.github.com/repos/JetBrain<span class=\\\"structural\\\">...</span></span>\",\"<span class=\\\"formatted\\\" title=\\\"https://api.github.com/repos/JetBrains/ideavim/merges\\\">https://api.github.com/repos/JetBrain<span class=\\\"structural\\\">...</span></span>\",\"<span class=\\\"formatted\\\" title=\\\"https://api.github.com/repos/JetBrains/youtrack-vcs-hooks/merges\\\">https://api.github.com/repos/JetBrain<span class=\\\"structural\\\">...</span></span>\"] }, \n",
       "{ name: \"<span title=\\\"archive_url: String\\\">archive_url</span>\", children: [], rightAlign: false, values: [\"<span class=\\\"formatted\\\" title=\\\"https://api.github.com/repos/JetBrains/JPS/{archive_format}{/ref}\\\">https://api.github.com/repos/JetBrain<span class=\\\"structural\\\">...</span></span>\",\"<span class=\\\"formatted\\\" title=\\\"https://api.github.com/repos/JetBrains/YouTrackSharp/{archive_format}{/ref}\\\">https://api.github.com/repos/JetBrain<span class=\\\"structural\\\">...</span></span>\",\"<span class=\\\"formatted\\\" title=\\\"https://api.github.com/repos/JetBrains/colorSchemeTool/{archive_format}{/ref}\\\">https://api.github.com/repos/JetBrain<span class=\\\"structural\\\">...</span></span>\",\"<span class=\\\"formatted\\\" title=\\\"https://api.github.com/repos/JetBrains/ideavim/{archive_format}{/ref}\\\">https://api.github.com/repos/JetBrain<span class=\\\"structural\\\">...</span></span>\",\"<span class=\\\"formatted\\\" title=\\\"https://api.github.com/repos/JetBrains/youtrack-vcs-hooks/{archive_format}{/ref}\\\">https://api.github.com/repos/JetBrain<span class=\\\"structural\\\">...</span></span>\"] }, \n",
       "{ name: \"<span title=\\\"downloads_url: String\\\">downloads_url</span>\", children: [], rightAlign: false, values: [\"<span class=\\\"formatted\\\" title=\\\"https://api.github.com/repos/JetBrains/JPS/downloads\\\">https://api.github.com/repos/JetBrain<span class=\\\"structural\\\">...</span></span>\",\"<span class=\\\"formatted\\\" title=\\\"https://api.github.com/repos/JetBrains/YouTrackSharp/downloads\\\">https://api.github.com/repos/JetBrain<span class=\\\"structural\\\">...</span></span>\",\"<span class=\\\"formatted\\\" title=\\\"https://api.github.com/repos/JetBrains/colorSchemeTool/downloads\\\">https://api.github.com/repos/JetBrain<span class=\\\"structural\\\">...</span></span>\",\"<span class=\\\"formatted\\\" title=\\\"https://api.github.com/repos/JetBrains/ideavim/downloads\\\">https://api.github.com/repos/JetBrain<span class=\\\"structural\\\">...</span></span>\",\"<span class=\\\"formatted\\\" title=\\\"https://api.github.com/repos/JetBrains/youtrack-vcs-hooks/downloads\\\">https://api.github.com/repos/JetBrain<span class=\\\"structural\\\">...</span></span>\"] }, \n",
       "{ name: \"<span title=\\\"issues_url: String\\\">issues_url</span>\", children: [], rightAlign: false, values: [\"<span class=\\\"formatted\\\" title=\\\"https://api.github.com/repos/JetBrains/JPS/issues{/number}\\\">https://api.github.com/repos/JetBrain<span class=\\\"structural\\\">...</span></span>\",\"<span class=\\\"formatted\\\" title=\\\"https://api.github.com/repos/JetBrains/YouTrackSharp/issues{/number}\\\">https://api.github.com/repos/JetBrain<span class=\\\"structural\\\">...</span></span>\",\"<span class=\\\"formatted\\\" title=\\\"https://api.github.com/repos/JetBrains/colorSchemeTool/issues{/number}\\\">https://api.github.com/repos/JetBrain<span class=\\\"structural\\\">...</span></span>\",\"<span class=\\\"formatted\\\" title=\\\"https://api.github.com/repos/JetBrains/ideavim/issues{/number}\\\">https://api.github.com/repos/JetBrain<span class=\\\"structural\\\">...</span></span>\",\"<span class=\\\"formatted\\\" title=\\\"https://api.github.com/repos/JetBrains/youtrack-vcs-hooks/issues{/number}\\\">https://api.github.com/repos/JetBrain<span class=\\\"structural\\\">...</span></span>\"] }, \n",
       "{ name: \"<span title=\\\"pulls_url: String\\\">pulls_url</span>\", children: [], rightAlign: false, values: [\"<span class=\\\"formatted\\\" title=\\\"https://api.github.com/repos/JetBrains/JPS/pulls{/number}\\\">https://api.github.com/repos/JetBrain<span class=\\\"structural\\\">...</span></span>\",\"<span class=\\\"formatted\\\" title=\\\"https://api.github.com/repos/JetBrains/YouTrackSharp/pulls{/number}\\\">https://api.github.com/repos/JetBrain<span class=\\\"structural\\\">...</span></span>\",\"<span class=\\\"formatted\\\" title=\\\"https://api.github.com/repos/JetBrains/colorSchemeTool/pulls{/number}\\\">https://api.github.com/repos/JetBrain<span class=\\\"structural\\\">...</span></span>\",\"<span class=\\\"formatted\\\" title=\\\"https://api.github.com/repos/JetBrains/ideavim/pulls{/number}\\\">https://api.github.com/repos/JetBrain<span class=\\\"structural\\\">...</span></span>\",\"<span class=\\\"formatted\\\" title=\\\"https://api.github.com/repos/JetBrains/youtrack-vcs-hooks/pulls{/number}\\\">https://api.github.com/repos/JetBrain<span class=\\\"structural\\\">...</span></span>\"] }, \n",
       "{ name: \"<span title=\\\"milestones_url: String\\\">milestones_url</span>\", children: [], rightAlign: false, values: [\"<span class=\\\"formatted\\\" title=\\\"https://api.github.com/repos/JetBrains/JPS/milestones{/number}\\\">https://api.github.com/repos/JetBrain<span class=\\\"structural\\\">...</span></span>\",\"<span class=\\\"formatted\\\" title=\\\"https://api.github.com/repos/JetBrains/YouTrackSharp/milestones{/number}\\\">https://api.github.com/repos/JetBrain<span class=\\\"structural\\\">...</span></span>\",\"<span class=\\\"formatted\\\" title=\\\"https://api.github.com/repos/JetBrains/colorSchemeTool/milestones{/number}\\\">https://api.github.com/repos/JetBrain<span class=\\\"structural\\\">...</span></span>\",\"<span class=\\\"formatted\\\" title=\\\"https://api.github.com/repos/JetBrains/ideavim/milestones{/number}\\\">https://api.github.com/repos/JetBrain<span class=\\\"structural\\\">...</span></span>\",\"<span class=\\\"formatted\\\" title=\\\"https://api.github.com/repos/JetBrains/youtrack-vcs-hooks/milestones{/number}\\\">https://api.github.com/repos/JetBrain<span class=\\\"structural\\\">...</span></span>\"] }, \n",
       "{ name: \"<span title=\\\"notifications_url: String\\\">notifications_url</span>\", children: [], rightAlign: false, values: [\"<span class=\\\"formatted\\\" title=\\\"https://api.github.com/repos/JetBrains/JPS/notifications{?since,all,participating}\\\">https://api.github.com/repos/JetBrain<span class=\\\"structural\\\">...</span></span>\",\"<span class=\\\"formatted\\\" title=\\\"https://api.github.com/repos/JetBrains/YouTrackSharp/notifications{?since,all,participating}\\\">https://api.github.com/repos/JetBrain<span class=\\\"structural\\\">...</span></span>\",\"<span class=\\\"formatted\\\" title=\\\"https://api.github.com/repos/JetBrains/colorSchemeTool/notifications{?since,all,participating}\\\">https://api.github.com/repos/JetBrain<span class=\\\"structural\\\">...</span></span>\",\"<span class=\\\"formatted\\\" title=\\\"https://api.github.com/repos/JetBrains/ideavim/notifications{?since,all,participating}\\\">https://api.github.com/repos/JetBrain<span class=\\\"structural\\\">...</span></span>\",\"<span class=\\\"formatted\\\" title=\\\"https://api.github.com/repos/JetBrains/youtrack-vcs-hooks/notifications{?since,all,participating}\\\">https://api.github.com/repos/JetBrain<span class=\\\"structural\\\">...</span></span>\"] }, \n",
       "{ name: \"<span title=\\\"labels_url: String\\\">labels_url</span>\", children: [], rightAlign: false, values: [\"<span class=\\\"formatted\\\" title=\\\"https://api.github.com/repos/JetBrains/JPS/labels{/name}\\\">https://api.github.com/repos/JetBrain<span class=\\\"structural\\\">...</span></span>\",\"<span class=\\\"formatted\\\" title=\\\"https://api.github.com/repos/JetBrains/YouTrackSharp/labels{/name}\\\">https://api.github.com/repos/JetBrain<span class=\\\"structural\\\">...</span></span>\",\"<span class=\\\"formatted\\\" title=\\\"https://api.github.com/repos/JetBrains/colorSchemeTool/labels{/name}\\\">https://api.github.com/repos/JetBrain<span class=\\\"structural\\\">...</span></span>\",\"<span class=\\\"formatted\\\" title=\\\"https://api.github.com/repos/JetBrains/ideavim/labels{/name}\\\">https://api.github.com/repos/JetBrain<span class=\\\"structural\\\">...</span></span>\",\"<span class=\\\"formatted\\\" title=\\\"https://api.github.com/repos/JetBrains/youtrack-vcs-hooks/labels{/name}\\\">https://api.github.com/repos/JetBrain<span class=\\\"structural\\\">...</span></span>\"] }, \n",
       "{ name: \"<span title=\\\"releases_url: String\\\">releases_url</span>\", children: [], rightAlign: false, values: [\"<span class=\\\"formatted\\\" title=\\\"https://api.github.com/repos/JetBrains/JPS/releases{/id}\\\">https://api.github.com/repos/JetBrain<span class=\\\"structural\\\">...</span></span>\",\"<span class=\\\"formatted\\\" title=\\\"https://api.github.com/repos/JetBrains/YouTrackSharp/releases{/id}\\\">https://api.github.com/repos/JetBrain<span class=\\\"structural\\\">...</span></span>\",\"<span class=\\\"formatted\\\" title=\\\"https://api.github.com/repos/JetBrains/colorSchemeTool/releases{/id}\\\">https://api.github.com/repos/JetBrain<span class=\\\"structural\\\">...</span></span>\",\"<span class=\\\"formatted\\\" title=\\\"https://api.github.com/repos/JetBrains/ideavim/releases{/id}\\\">https://api.github.com/repos/JetBrain<span class=\\\"structural\\\">...</span></span>\",\"<span class=\\\"formatted\\\" title=\\\"https://api.github.com/repos/JetBrains/youtrack-vcs-hooks/releases{/id}\\\">https://api.github.com/repos/JetBrain<span class=\\\"structural\\\">...</span></span>\"] }, \n",
       "{ name: \"<span title=\\\"deployments_url: String\\\">deployments_url</span>\", children: [], rightAlign: false, values: [\"<span class=\\\"formatted\\\" title=\\\"https://api.github.com/repos/JetBrains/JPS/deployments\\\">https://api.github.com/repos/JetBrain<span class=\\\"structural\\\">...</span></span>\",\"<span class=\\\"formatted\\\" title=\\\"https://api.github.com/repos/JetBrains/YouTrackSharp/deployments\\\">https://api.github.com/repos/JetBrain<span class=\\\"structural\\\">...</span></span>\",\"<span class=\\\"formatted\\\" title=\\\"https://api.github.com/repos/JetBrains/colorSchemeTool/deployments\\\">https://api.github.com/repos/JetBrain<span class=\\\"structural\\\">...</span></span>\",\"<span class=\\\"formatted\\\" title=\\\"https://api.github.com/repos/JetBrains/ideavim/deployments\\\">https://api.github.com/repos/JetBrain<span class=\\\"structural\\\">...</span></span>\",\"<span class=\\\"formatted\\\" title=\\\"https://api.github.com/repos/JetBrains/youtrack-vcs-hooks/deployments\\\">https://api.github.com/repos/JetBrain<span class=\\\"structural\\\">...</span></span>\"] }, \n",
       "{ name: \"<span title=\\\"created_at: String\\\">created_at</span>\", children: [], rightAlign: false, values: [\"2009-09-01T16:34:40Z\",\"2010-11-20T21:34:42Z\",\"2010-12-10T18:19:50Z\",\"2011-03-09T15:22:27Z\",\"2011-06-15T13:52:59Z\"] }, \n",
       "{ name: \"<span title=\\\"updated_at: String\\\">updated_at</span>\", children: [], rightAlign: false, values: [\"2021-11-21T02:45:55Z\",\"2021-10-12T15:31:09Z\",\"2021-11-30T18:31:29Z\",\"2021-12-01T12:27:24Z\",\"2021-11-21T02:46:00Z\"] }, \n",
       "{ name: \"<span title=\\\"pushed_at: String\\\">pushed_at</span>\", children: [], rightAlign: false, values: [\"2020-01-31T18:11:06Z\",\"2021-11-26T15:42:47Z\",\"2021-11-05T01:14:43Z\",\"2021-12-01T15:02:20Z\",\"2017-10-13T14:10:29Z\"] }, \n",
       "{ name: \"<span title=\\\"git_url: String\\\">git_url</span>\", children: [], rightAlign: false, values: [\"git://github.com/JetBrains/JPS.git\",\"<span class=\\\"formatted\\\" title=\\\"git://github.com/JetBrains/YouTrackSharp.git\\\">git://github.com/JetBrains/YouTrackSh<span class=\\\"structural\\\">...</span></span>\",\"<span class=\\\"formatted\\\" title=\\\"git://github.com/JetBrains/colorSchemeTool.git\\\">git://github.com/JetBrains/colorSchem<span class=\\\"structural\\\">...</span></span>\",\"git://github.com/JetBrains/ideavim.git\",\"<span class=\\\"formatted\\\" title=\\\"git://github.com/JetBrains/youtrack-vcs-hooks.git\\\">git://github.com/JetBrains/youtrack-v<span class=\\\"structural\\\">...</span></span>\"] }, \n",
       "{ name: \"<span title=\\\"ssh_url: String\\\">ssh_url</span>\", children: [], rightAlign: false, values: [\"git@github.com:JetBrains/JPS.git\",\"<span class=\\\"formatted\\\" title=\\\"git@github.com:JetBrains/YouTrackSharp.git\\\">git@github.com:JetBrains/YouTrackShar<span class=\\\"structural\\\">...</span></span>\",\"<span class=\\\"formatted\\\" title=\\\"git@github.com:JetBrains/colorSchemeTool.git\\\">git@github.com:JetBrains/colorSchemeT<span class=\\\"structural\\\">...</span></span>\",\"git@github.com:JetBrains/ideavim.git\",\"<span class=\\\"formatted\\\" title=\\\"git@github.com:JetBrains/youtrack-vcs-hooks.git\\\">git@github.com:JetBrains/youtrack-vcs<span class=\\\"structural\\\">...</span></span>\"] }, \n",
       "{ name: \"<span title=\\\"clone_url: String\\\">clone_url</span>\", children: [], rightAlign: false, values: [\"https://github.com/JetBrains/JPS.git\",\"<span class=\\\"formatted\\\" title=\\\"https://github.com/JetBrains/YouTrackSharp.git\\\">https://github.com/JetBrains/YouTrack<span class=\\\"structural\\\">...</span></span>\",\"<span class=\\\"formatted\\\" title=\\\"https://github.com/JetBrains/colorSchemeTool.git\\\">https://github.com/JetBrains/colorSch<span class=\\\"structural\\\">...</span></span>\",\"https://github.com/JetBrains/ideavim.git\",\"<span class=\\\"formatted\\\" title=\\\"https://github.com/JetBrains/youtrack-vcs-hooks.git\\\">https://github.com/JetBrains/youtrack<span class=\\\"structural\\\">...</span></span>\"] }, \n",
       "{ name: \"<span title=\\\"svn_url: String\\\">svn_url</span>\", children: [], rightAlign: false, values: [\"https://github.com/JetBrains/JPS\",\"<span class=\\\"formatted\\\" title=\\\"https://github.com/JetBrains/YouTrackSharp\\\">https://github.com/JetBrains/YouTrack<span class=\\\"structural\\\">...</span></span>\",\"<span class=\\\"formatted\\\" title=\\\"https://github.com/JetBrains/colorSchemeTool\\\">https://github.com/JetBrains/colorSch<span class=\\\"structural\\\">...</span></span>\",\"https://github.com/JetBrains/ideavim\",\"<span class=\\\"formatted\\\" title=\\\"https://github.com/JetBrains/youtrack-vcs-hooks\\\">https://github.com/JetBrains/youtrack<span class=\\\"structural\\\">...</span></span>\"] }, \n",
       "{ name: \"<span title=\\\"homepage: String?\\\">homepage</span>\", children: [], rightAlign: false, values: [\"\",\"https://www.jetbrains.com/youtrack\",\"<span class=\\\"formatted\\\" title=\\\"\\\"><span class=\\\"null\\\">null</span></span>\",\"http://plugins.jetbrains.com/plugin/164\",\"http://www.jetbrains.com/youtrack/\"] }, \n",
       "{ name: \"<span title=\\\"size: Int\\\">size</span>\", children: [], rightAlign: true, values: [\"<span class=\\\"formatted\\\" title=\\\"\\\"><span class=\\\"numbers\\\">31261</span></span>\",\"<span class=\\\"formatted\\\" title=\\\"\\\"><span class=\\\"numbers\\\">29639</span></span>\",\"<span class=\\\"formatted\\\" title=\\\"\\\"><span class=\\\"numbers\\\">866</span></span>\",\"<span class=\\\"formatted\\\" title=\\\"\\\"><span class=\\\"numbers\\\">58205</span></span>\",\"<span class=\\\"formatted\\\" title=\\\"\\\"><span class=\\\"numbers\\\">1</span></span>\"] }, \n",
       "{ name: \"<span title=\\\"stargazers_count: Int\\\">stargazers_count</span>\", children: [], rightAlign: true, values: [\"<span class=\\\"formatted\\\" title=\\\"\\\"><span class=\\\"numbers\\\">23</span></span>\",\"<span class=\\\"formatted\\\" title=\\\"\\\"><span class=\\\"numbers\\\">115</span></span>\",\"<span class=\\\"formatted\\\" title=\\\"\\\"><span class=\\\"numbers\\\">291</span></span>\",\"<span class=\\\"formatted\\\" title=\\\"\\\"><span class=\\\"numbers\\\">6137</span></span>\",\"<span class=\\\"formatted\\\" title=\\\"\\\"><span class=\\\"numbers\\\">5</span></span>\"] }, \n",
       "{ name: \"<span title=\\\"watchers_count: Int\\\">watchers_count</span>\", children: [], rightAlign: true, values: [\"<span class=\\\"formatted\\\" title=\\\"\\\"><span class=\\\"numbers\\\">23</span></span>\",\"<span class=\\\"formatted\\\" title=\\\"\\\"><span class=\\\"numbers\\\">115</span></span>\",\"<span class=\\\"formatted\\\" title=\\\"\\\"><span class=\\\"numbers\\\">291</span></span>\",\"<span class=\\\"formatted\\\" title=\\\"\\\"><span class=\\\"numbers\\\">6137</span></span>\",\"<span class=\\\"formatted\\\" title=\\\"\\\"><span class=\\\"numbers\\\">5</span></span>\"] }, \n",
       "{ name: \"<span title=\\\"language: String?\\\">language</span>\", children: [], rightAlign: false, values: [\"Java\",\"C#\",\"Python\",\"Kotlin\",\"Ruby\"] }, \n",
       "{ name: \"<span title=\\\"has_issues: Boolean\\\">has_issues</span>\", children: [], rightAlign: false, values: [\"true\",\"true\",\"true\",\"false\",\"true\"] }, \n",
       "{ name: \"<span title=\\\"has_projects: Boolean\\\">has_projects</span>\", children: [], rightAlign: false, values: [\"true\",\"false\",\"true\",\"false\",\"true\"] }, \n",
       "{ name: \"<span title=\\\"has_downloads: Boolean\\\">has_downloads</span>\", children: [], rightAlign: false, values: [\"true\",\"true\",\"true\",\"true\",\"true\"] }, \n",
       "{ name: \"<span title=\\\"has_wiki: Boolean\\\">has_wiki</span>\", children: [], rightAlign: false, values: [\"true\",\"false\",\"true\",\"true\",\"true\"] }, \n",
       "{ name: \"<span title=\\\"has_pages: Boolean\\\">has_pages</span>\", children: [], rightAlign: false, values: [\"false\",\"false\",\"false\",\"false\",\"false\"] }, \n",
       "{ name: \"<span title=\\\"forks_count: Int\\\">forks_count</span>\", children: [], rightAlign: true, values: [\"<span class=\\\"formatted\\\" title=\\\"\\\"><span class=\\\"numbers\\\">6</span></span>\",\"<span class=\\\"formatted\\\" title=\\\"\\\"><span class=\\\"numbers\\\">100</span></span>\",\"<span class=\\\"formatted\\\" title=\\\"\\\"><span class=\\\"numbers\\\">62</span></span>\",\"<span class=\\\"formatted\\\" title=\\\"\\\"><span class=\\\"numbers\\\">607</span></span>\",\"<span class=\\\"formatted\\\" title=\\\"\\\"><span class=\\\"numbers\\\">3</span></span>\"] }, \n",
       "{ name: \"<span title=\\\"mirror_url: Any?\\\">mirror_url</span>\", children: [], rightAlign: false, values: [\"<span class=\\\"formatted\\\" title=\\\"\\\"><span class=\\\"null\\\">null</span></span>\",\"<span class=\\\"formatted\\\" title=\\\"\\\"><span class=\\\"null\\\">null</span></span>\",\"<span class=\\\"formatted\\\" title=\\\"\\\"><span class=\\\"null\\\">null</span></span>\",\"<span class=\\\"formatted\\\" title=\\\"\\\"><span class=\\\"null\\\">null</span></span>\",\"<span class=\\\"formatted\\\" title=\\\"\\\"><span class=\\\"null\\\">null</span></span>\"] }, \n",
       "{ name: \"<span title=\\\"archived: Boolean\\\">archived</span>\", children: [], rightAlign: false, values: [\"false\",\"false\",\"false\",\"false\",\"true\"] }, \n",
       "{ name: \"<span title=\\\"disabled: Boolean\\\">disabled</span>\", children: [], rightAlign: false, values: [\"false\",\"false\",\"false\",\"false\",\"false\"] }, \n",
       "{ name: \"<span title=\\\"open_issues_count: Int\\\">open_issues_count</span>\", children: [], rightAlign: true, values: [\"<span class=\\\"formatted\\\" title=\\\"\\\"><span class=\\\"numbers\\\">0</span></span>\",\"<span class=\\\"formatted\\\" title=\\\"\\\"><span class=\\\"numbers\\\">12</span></span>\",\"<span class=\\\"formatted\\\" title=\\\"\\\"><span class=\\\"numbers\\\">10</span></span>\",\"<span class=\\\"formatted\\\" title=\\\"\\\"><span class=\\\"numbers\\\">1</span></span>\",\"<span class=\\\"formatted\\\" title=\\\"\\\"><span class=\\\"numbers\\\">0</span></span>\"] }, \n",
       "{ name: \"<span title=\\\"key: String?\\\">key</span>\", children: [], rightAlign: false, values: [\"<span class=\\\"formatted\\\" title=\\\"\\\"><span class=\\\"null\\\">null</span></span>\",\"apache-2.0\",\"apache-2.0\",\"gpl-2.0\",\"<span class=\\\"formatted\\\" title=\\\"\\\"><span class=\\\"null\\\">null</span></span>\"] }, \n",
       "{ name: \"<span title=\\\"name: String?\\\">name</span>\", children: [], rightAlign: false, values: [\"<span class=\\\"formatted\\\" title=\\\"\\\"><span class=\\\"null\\\">null</span></span>\",\"Apache License 2.0\",\"Apache License 2.0\",\"GNU General Public License v2.0\",\"<span class=\\\"formatted\\\" title=\\\"\\\"><span class=\\\"null\\\">null</span></span>\"] }, \n",
       "{ name: \"<span title=\\\"spdx_id: String?\\\">spdx_id</span>\", children: [], rightAlign: false, values: [\"<span class=\\\"formatted\\\" title=\\\"\\\"><span class=\\\"null\\\">null</span></span>\",\"Apache-2.0\",\"Apache-2.0\",\"GPL-2.0\",\"<span class=\\\"formatted\\\" title=\\\"\\\"><span class=\\\"null\\\">null</span></span>\"] }, \n",
       "{ name: \"<span title=\\\"url: String?\\\">url</span>\", children: [], rightAlign: false, values: [\"<span class=\\\"formatted\\\" title=\\\"\\\"><span class=\\\"null\\\">null</span></span>\",\"<span class=\\\"formatted\\\" title=\\\"https://api.github.com/licenses/apache-2.0\\\">https://api.github.com/licenses/apach<span class=\\\"structural\\\">...</span></span>\",\"<span class=\\\"formatted\\\" title=\\\"https://api.github.com/licenses/apache-2.0\\\">https://api.github.com/licenses/apach<span class=\\\"structural\\\">...</span></span>\",\"https://api.github.com/licenses/gpl-2.0\",\"<span class=\\\"formatted\\\" title=\\\"\\\"><span class=\\\"null\\\">null</span></span>\"] }, \n",
       "{ name: \"<span title=\\\"node_id: String?\\\">node_id</span>\", children: [], rightAlign: false, values: [\"<span class=\\\"formatted\\\" title=\\\"\\\"><span class=\\\"null\\\">null</span></span>\",\"MDc6TGljZW5zZTI=\",\"MDc6TGljZW5zZTI=\",\"MDc6TGljZW5zZTg=\",\"<span class=\\\"formatted\\\" title=\\\"\\\"><span class=\\\"null\\\">null</span></span>\"] }, \n",
       "{ name: \"<span title=\\\"license: DataRow\\\">license</span>\", children: [86, 87, 88, 89, 90], rightAlign: false, values: [\"<span class=\\\"formatted\\\" title=\\\"\\\"><span class=\\\"null\\\">{ }</span></span>\",\"<span class=\\\"formatted\\\" title=\\\"key: apache-2.0\\nname: Apache License 2.0\\nspdx_id: Apache-2.0\\nurl: https://api.github.com/licenses/apache-2.0\\nnode_id: MDc6TGljZW5zZTI=\\\"><span class=\\\"structural\\\">{ </span><span class=\\\"structural\\\">key: </span>apache-2.0<span class=\\\"structural\\\">, </span><span class=\\\"structural\\\">name: </span>Apach<span class=\\\"structural\\\">...</span><span class=\\\"structural\\\">, </span><span class=\\\"structural\\\">...</span><span class=\\\"structural\\\"> }</span></span>\",\"<span class=\\\"formatted\\\" title=\\\"key: apache-2.0\\nname: Apache License 2.0\\nspdx_id: Apache-2.0\\nurl: https://api.github.com/licenses/apache-2.0\\nnode_id: MDc6TGljZW5zZTI=\\\"><span class=\\\"structural\\\">{ </span><span class=\\\"structural\\\">key: </span>apache-2.0<span class=\\\"structural\\\">, </span><span class=\\\"structural\\\">name: </span>Apach<span class=\\\"structural\\\">...</span><span class=\\\"structural\\\">, </span><span class=\\\"structural\\\">...</span><span class=\\\"structural\\\"> }</span></span>\",\"<span class=\\\"formatted\\\" title=\\\"key: gpl-2.0\\nname: GNU General Public License v2.0\\nspdx_id: GPL-2.0\\nurl: https://api.github.com/licenses/gpl-2.0\\nnode_id: MDc6TGljZW5zZTg=\\\"><span class=\\\"structural\\\">{ </span><span class=\\\"structural\\\">key: </span>gpl-2.0<span class=\\\"structural\\\">, </span><span class=\\\"structural\\\">name: </span>GNU Gene<span class=\\\"structural\\\">...</span><span class=\\\"structural\\\">, </span><span class=\\\"structural\\\">...</span><span class=\\\"structural\\\"> }</span></span>\",\"<span class=\\\"formatted\\\" title=\\\"\\\"><span class=\\\"null\\\">{ }</span></span>\"] }, \n",
       "{ name: \"<span title=\\\"allow_forking: Boolean\\\">allow_forking</span>\", children: [], rightAlign: false, values: [\"true\",\"true\",\"true\",\"true\",\"true\"] }, \n",
       "{ name: \"<span title=\\\"is_template: Boolean\\\">is_template</span>\", children: [], rightAlign: false, values: [\"false\",\"false\",\"false\",\"false\",\"false\"] }, \n",
       "{ name: \"<span title=\\\"topics: List<String>\\\">topics</span>\", children: [], rightAlign: false, values: [\"<span class=\\\"formatted\\\" title=\\\"\\\"><span class=\\\"null\\\">[ ]</span></span>\",\"<span class=\\\"formatted\\\" title=\\\"jetbrains\\njetbrains-youtrack\\nyoutrack\\nyoutrack-api\\\"><span class=\\\"structural\\\">[</span>jetbrains<span class=\\\"structural\\\">, </span>jetbrains-youtrack<span class=\\\"structural\\\">, </span><span class=\\\"structural\\\">...</span><span class=\\\"structural\\\">]</span></span>\",\"<span class=\\\"formatted\\\" title=\\\"\\\"><span class=\\\"null\\\">[ ]</span></span>\",\"<span class=\\\"formatted\\\" title=\\\"ideavim\\nintellij\\nintellij-platform\\njb-official\\nkotlin\\nvim\\nvim-emulator\\\"><span class=\\\"structural\\\">[</span>ideavim<span class=\\\"structural\\\">, </span>intellij<span class=\\\"structural\\\">, </span>intellij-pl<span class=\\\"structural\\\">...</span><span class=\\\"structural\\\">, </span><span class=\\\"structural\\\">...</span><span class=\\\"structural\\\">]</span></span>\",\"<span class=\\\"formatted\\\" title=\\\"\\\"><span class=\\\"null\\\">[ ]</span></span>\"] }, \n",
       "{ name: \"<span title=\\\"visibility: String\\\">visibility</span>\", children: [], rightAlign: false, values: [\"public\",\"public\",\"public\",\"public\",\"public\"] }, \n",
       "{ name: \"<span title=\\\"forks: Int\\\">forks</span>\", children: [], rightAlign: true, values: [\"<span class=\\\"formatted\\\" title=\\\"\\\"><span class=\\\"numbers\\\">6</span></span>\",\"<span class=\\\"formatted\\\" title=\\\"\\\"><span class=\\\"numbers\\\">100</span></span>\",\"<span class=\\\"formatted\\\" title=\\\"\\\"><span class=\\\"numbers\\\">62</span></span>\",\"<span class=\\\"formatted\\\" title=\\\"\\\"><span class=\\\"numbers\\\">607</span></span>\",\"<span class=\\\"formatted\\\" title=\\\"\\\"><span class=\\\"numbers\\\">3</span></span>\"] }, \n",
       "{ name: \"<span title=\\\"open_issues: Int\\\">open_issues</span>\", children: [], rightAlign: true, values: [\"<span class=\\\"formatted\\\" title=\\\"\\\"><span class=\\\"numbers\\\">0</span></span>\",\"<span class=\\\"formatted\\\" title=\\\"\\\"><span class=\\\"numbers\\\">12</span></span>\",\"<span class=\\\"formatted\\\" title=\\\"\\\"><span class=\\\"numbers\\\">10</span></span>\",\"<span class=\\\"formatted\\\" title=\\\"\\\"><span class=\\\"numbers\\\">1</span></span>\",\"<span class=\\\"formatted\\\" title=\\\"\\\"><span class=\\\"numbers\\\">0</span></span>\"] }, \n",
       "{ name: \"<span title=\\\"watchers: Int\\\">watchers</span>\", children: [], rightAlign: true, values: [\"<span class=\\\"formatted\\\" title=\\\"\\\"><span class=\\\"numbers\\\">23</span></span>\",\"<span class=\\\"formatted\\\" title=\\\"\\\"><span class=\\\"numbers\\\">115</span></span>\",\"<span class=\\\"formatted\\\" title=\\\"\\\"><span class=\\\"numbers\\\">291</span></span>\",\"<span class=\\\"formatted\\\" title=\\\"\\\"><span class=\\\"numbers\\\">6137</span></span>\",\"<span class=\\\"formatted\\\" title=\\\"\\\"><span class=\\\"numbers\\\">5</span></span>\"] }, \n",
       "{ name: \"<span title=\\\"default_branch: String\\\">default_branch</span>\", children: [], rightAlign: false, values: [\"master\",\"213\",\"master\",\"master\",\"master\"] }, \n",
       "{ name: \"<span title=\\\"admin: Boolean\\\">admin</span>\", children: [], rightAlign: false, values: [\"false\",\"false\",\"false\",\"false\",\"false\"] }, \n",
       "{ name: \"<span title=\\\"maintain: Boolean\\\">maintain</span>\", children: [], rightAlign: false, values: [\"false\",\"false\",\"false\",\"false\",\"false\"] }, \n",
       "{ name: \"<span title=\\\"push: Boolean\\\">push</span>\", children: [], rightAlign: false, values: [\"false\",\"false\",\"false\",\"false\",\"false\"] }, \n",
       "{ name: \"<span title=\\\"triage: Boolean\\\">triage</span>\", children: [], rightAlign: false, values: [\"false\",\"false\",\"false\",\"false\",\"false\"] }, \n",
       "{ name: \"<span title=\\\"pull: Boolean\\\">pull</span>\", children: [], rightAlign: false, values: [\"true\",\"true\",\"true\",\"true\",\"true\"] }, \n",
       "{ name: \"<span title=\\\"permissions: DataRow\\\">permissions</span>\", children: [100, 101, 102, 103, 104], rightAlign: false, values: [\"<span class=\\\"formatted\\\" title=\\\"admin: false\\nmaintain: false\\npush: false\\ntriage: false\\npull: true\\\"><span class=\\\"structural\\\">{ </span><span class=\\\"structural\\\">admin: </span>false<span class=\\\"structural\\\">, </span><span class=\\\"structural\\\">maintain: </span>false<span class=\\\"structural\\\">, </span><span class=\\\"structural\\\">...</span><span class=\\\"structural\\\"> }</span></span>\",\"<span class=\\\"formatted\\\" title=\\\"admin: false\\nmaintain: false\\npush: false\\ntriage: false\\npull: true\\\"><span class=\\\"structural\\\">{ </span><span class=\\\"structural\\\">admin: </span>false<span class=\\\"structural\\\">, </span><span class=\\\"structural\\\">maintain: </span>false<span class=\\\"structural\\\">, </span><span class=\\\"structural\\\">...</span><span class=\\\"structural\\\"> }</span></span>\",\"<span class=\\\"formatted\\\" title=\\\"admin: false\\nmaintain: false\\npush: false\\ntriage: false\\npull: true\\\"><span class=\\\"structural\\\">{ </span><span class=\\\"structural\\\">admin: </span>false<span class=\\\"structural\\\">, </span><span class=\\\"structural\\\">maintain: </span>false<span class=\\\"structural\\\">, </span><span class=\\\"structural\\\">...</span><span class=\\\"structural\\\"> }</span></span>\",\"<span class=\\\"formatted\\\" title=\\\"admin: false\\nmaintain: false\\npush: false\\ntriage: false\\npull: true\\\"><span class=\\\"structural\\\">{ </span><span class=\\\"structural\\\">admin: </span>false<span class=\\\"structural\\\">, </span><span class=\\\"structural\\\">maintain: </span>false<span class=\\\"structural\\\">, </span><span class=\\\"structural\\\">...</span><span class=\\\"structural\\\"> }</span></span>\",\"<span class=\\\"formatted\\\" title=\\\"admin: false\\nmaintain: false\\npush: false\\ntriage: false\\npull: true\\\"><span class=\\\"structural\\\">{ </span><span class=\\\"structural\\\">admin: </span>false<span class=\\\"structural\\\">, </span><span class=\\\"structural\\\">maintain: </span>false<span class=\\\"structural\\\">, </span><span class=\\\"structural\\\">...</span><span class=\\\"structural\\\"> }</span></span>\"] }, \n",
       "], id: -654311370, rootId: -654311371 } ) });\n",
       "/*-->*/\n",
       "\n",
       "/*<!--*/\n",
       "call_DataFrame(function() { DataFrame.addTable({ cols: [{ name: \"<span title=\\\"login: String\\\">login</span>\", children: [], rightAlign: false, values: [\"1anisim\",\"AI-shm\",\"ALikhachev\",\"Alefas\",\"AlexPl292\"] }, \n",
       "{ name: \"<span title=\\\"id: Int\\\">id</span>\", children: [], rightAlign: true, values: [\"<span class=\\\"formatted\\\" title=\\\"\\\"><span class=\\\"numbers\\\">70746131</span></span>\",\"<span class=\\\"formatted\\\" title=\\\"\\\"><span class=\\\"numbers\\\">63251834</span></span>\",\"<span class=\\\"formatted\\\" title=\\\"\\\"><span class=\\\"numbers\\\">1221596</span></span>\",\"<span class=\\\"formatted\\\" title=\\\"\\\"><span class=\\\"numbers\\\">94064</span></span>\",\"<span class=\\\"formatted\\\" title=\\\"\\\"><span class=\\\"numbers\\\">4203721</span></span>\"] }, \n",
       "{ name: \"<span title=\\\"node_id: String\\\">node_id</span>\", children: [], rightAlign: false, values: [\"MDQ6VXNlcjcwNzQ2MTMx\",\"MDQ6VXNlcjYzMjUxODM0\",\"MDQ6VXNlcjEyMjE1OTY=\",\"MDQ6VXNlcjk0MDY0\",\"MDQ6VXNlcjQyMDM3MjE=\"] }, \n",
       "{ name: \"<span title=\\\"avatar_url: String\\\">avatar_url</span>\", children: [], rightAlign: false, values: [\"<span class=\\\"formatted\\\" title=\\\"https://avatars.githubusercontent.com/u/70746131?v=4\\\">https://avatars.githubusercontent.com<span class=\\\"structural\\\">...</span></span>\",\"<span class=\\\"formatted\\\" title=\\\"https://avatars.githubusercontent.com/u/63251834?v=4\\\">https://avatars.githubusercontent.com<span class=\\\"structural\\\">...</span></span>\",\"<span class=\\\"formatted\\\" title=\\\"https://avatars.githubusercontent.com/u/1221596?v=4\\\">https://avatars.githubusercontent.com<span class=\\\"structural\\\">...</span></span>\",\"<span class=\\\"formatted\\\" title=\\\"https://avatars.githubusercontent.com/u/94064?v=4\\\">https://avatars.githubusercontent.com<span class=\\\"structural\\\">...</span></span>\",\"<span class=\\\"formatted\\\" title=\\\"https://avatars.githubusercontent.com/u/4203721?v=4\\\">https://avatars.githubusercontent.com<span class=\\\"structural\\\">...</span></span>\"] }, \n",
       "{ name: \"<span title=\\\"gravatar_id: String\\\">gravatar_id</span>\", children: [], rightAlign: false, values: [\"\",\"\",\"\",\"\",\"\"] }, \n",
       "{ name: \"<span title=\\\"url: String\\\">url</span>\", children: [], rightAlign: false, values: [\"https://api.github.com/users/1anisim\",\"https://api.github.com/users/AI-shm\",\"https://api.github.com/users/ALikhachev\",\"https://api.github.com/users/Alefas\",\"https://api.github.com/users/AlexPl292\"] }, \n",
       "{ name: \"<span title=\\\"html_url: String\\\">html_url</span>\", children: [], rightAlign: false, values: [\"https://github.com/1anisim\",\"https://github.com/AI-shm\",\"https://github.com/ALikhachev\",\"https://github.com/Alefas\",\"https://github.com/AlexPl292\"] }, \n",
       "{ name: \"<span title=\\\"followers_url: String\\\">followers_url</span>\", children: [], rightAlign: false, values: [\"<span class=\\\"formatted\\\" title=\\\"https://api.github.com/users/1anisim/followers\\\">https://api.github.com/users/1anisim/<span class=\\\"structural\\\">...</span></span>\",\"<span class=\\\"formatted\\\" title=\\\"https://api.github.com/users/AI-shm/followers\\\">https://api.github.com/users/AI-shm/f<span class=\\\"structural\\\">...</span></span>\",\"<span class=\\\"formatted\\\" title=\\\"https://api.github.com/users/ALikhachev/followers\\\">https://api.github.com/users/ALikhach<span class=\\\"structural\\\">...</span></span>\",\"<span class=\\\"formatted\\\" title=\\\"https://api.github.com/users/Alefas/followers\\\">https://api.github.com/users/Alefas/f<span class=\\\"structural\\\">...</span></span>\",\"<span class=\\\"formatted\\\" title=\\\"https://api.github.com/users/AlexPl292/followers\\\">https://api.github.com/users/AlexPl29<span class=\\\"structural\\\">...</span></span>\"] }, \n",
       "{ name: \"<span title=\\\"following_url: String\\\">following_url</span>\", children: [], rightAlign: false, values: [\"<span class=\\\"formatted\\\" title=\\\"https://api.github.com/users/1anisim/following{/other_user}\\\">https://api.github.com/users/1anisim/<span class=\\\"structural\\\">...</span></span>\",\"<span class=\\\"formatted\\\" title=\\\"https://api.github.com/users/AI-shm/following{/other_user}\\\">https://api.github.com/users/AI-shm/f<span class=\\\"structural\\\">...</span></span>\",\"<span class=\\\"formatted\\\" title=\\\"https://api.github.com/users/ALikhachev/following{/other_user}\\\">https://api.github.com/users/ALikhach<span class=\\\"structural\\\">...</span></span>\",\"<span class=\\\"formatted\\\" title=\\\"https://api.github.com/users/Alefas/following{/other_user}\\\">https://api.github.com/users/Alefas/f<span class=\\\"structural\\\">...</span></span>\",\"<span class=\\\"formatted\\\" title=\\\"https://api.github.com/users/AlexPl292/following{/other_user}\\\">https://api.github.com/users/AlexPl29<span class=\\\"structural\\\">...</span></span>\"] }, \n",
       "{ name: \"<span title=\\\"gists_url: String\\\">gists_url</span>\", children: [], rightAlign: false, values: [\"<span class=\\\"formatted\\\" title=\\\"https://api.github.com/users/1anisim/gists{/gist_id}\\\">https://api.github.com/users/1anisim/<span class=\\\"structural\\\">...</span></span>\",\"<span class=\\\"formatted\\\" title=\\\"https://api.github.com/users/AI-shm/gists{/gist_id}\\\">https://api.github.com/users/AI-shm/g<span class=\\\"structural\\\">...</span></span>\",\"<span class=\\\"formatted\\\" title=\\\"https://api.github.com/users/ALikhachev/gists{/gist_id}\\\">https://api.github.com/users/ALikhach<span class=\\\"structural\\\">...</span></span>\",\"<span class=\\\"formatted\\\" title=\\\"https://api.github.com/users/Alefas/gists{/gist_id}\\\">https://api.github.com/users/Alefas/g<span class=\\\"structural\\\">...</span></span>\",\"<span class=\\\"formatted\\\" title=\\\"https://api.github.com/users/AlexPl292/gists{/gist_id}\\\">https://api.github.com/users/AlexPl29<span class=\\\"structural\\\">...</span></span>\"] }, \n",
       "{ name: \"<span title=\\\"starred_url: String\\\">starred_url</span>\", children: [], rightAlign: false, values: [\"<span class=\\\"formatted\\\" title=\\\"https://api.github.com/users/1anisim/starred{/owner}{/repo}\\\">https://api.github.com/users/1anisim/<span class=\\\"structural\\\">...</span></span>\",\"<span class=\\\"formatted\\\" title=\\\"https://api.github.com/users/AI-shm/starred{/owner}{/repo}\\\">https://api.github.com/users/AI-shm/s<span class=\\\"structural\\\">...</span></span>\",\"<span class=\\\"formatted\\\" title=\\\"https://api.github.com/users/ALikhachev/starred{/owner}{/repo}\\\">https://api.github.com/users/ALikhach<span class=\\\"structural\\\">...</span></span>\",\"<span class=\\\"formatted\\\" title=\\\"https://api.github.com/users/Alefas/starred{/owner}{/repo}\\\">https://api.github.com/users/Alefas/s<span class=\\\"structural\\\">...</span></span>\",\"<span class=\\\"formatted\\\" title=\\\"https://api.github.com/users/AlexPl292/starred{/owner}{/repo}\\\">https://api.github.com/users/AlexPl29<span class=\\\"structural\\\">...</span></span>\"] }, \n",
       "{ name: \"<span title=\\\"subscriptions_url: String\\\">subscriptions_url</span>\", children: [], rightAlign: false, values: [\"<span class=\\\"formatted\\\" title=\\\"https://api.github.com/users/1anisim/subscriptions\\\">https://api.github.com/users/1anisim/<span class=\\\"structural\\\">...</span></span>\",\"<span class=\\\"formatted\\\" title=\\\"https://api.github.com/users/AI-shm/subscriptions\\\">https://api.github.com/users/AI-shm/s<span class=\\\"structural\\\">...</span></span>\",\"<span class=\\\"formatted\\\" title=\\\"https://api.github.com/users/ALikhachev/subscriptions\\\">https://api.github.com/users/ALikhach<span class=\\\"structural\\\">...</span></span>\",\"<span class=\\\"formatted\\\" title=\\\"https://api.github.com/users/Alefas/subscriptions\\\">https://api.github.com/users/Alefas/s<span class=\\\"structural\\\">...</span></span>\",\"<span class=\\\"formatted\\\" title=\\\"https://api.github.com/users/AlexPl292/subscriptions\\\">https://api.github.com/users/AlexPl29<span class=\\\"structural\\\">...</span></span>\"] }, \n",
       "{ name: \"<span title=\\\"organizations_url: String\\\">organizations_url</span>\", children: [], rightAlign: false, values: [\"<span class=\\\"formatted\\\" title=\\\"https://api.github.com/users/1anisim/orgs\\\">https://api.github.com/users/1anisim/<span class=\\\"structural\\\">...</span></span>\",\"https://api.github.com/users/AI-shm/orgs\",\"<span class=\\\"formatted\\\" title=\\\"https://api.github.com/users/ALikhachev/orgs\\\">https://api.github.com/users/ALikhach<span class=\\\"structural\\\">...</span></span>\",\"https://api.github.com/users/Alefas/orgs\",\"<span class=\\\"formatted\\\" title=\\\"https://api.github.com/users/AlexPl292/orgs\\\">https://api.github.com/users/AlexPl29<span class=\\\"structural\\\">...</span></span>\"] }, \n",
       "{ name: \"<span title=\\\"repos_url: String\\\">repos_url</span>\", children: [], rightAlign: false, values: [\"<span class=\\\"formatted\\\" title=\\\"https://api.github.com/users/1anisim/repos\\\">https://api.github.com/users/1anisim/<span class=\\\"structural\\\">...</span></span>\",\"<span class=\\\"formatted\\\" title=\\\"https://api.github.com/users/AI-shm/repos\\\">https://api.github.com/users/AI-shm/r<span class=\\\"structural\\\">...</span></span>\",\"<span class=\\\"formatted\\\" title=\\\"https://api.github.com/users/ALikhachev/repos\\\">https://api.github.com/users/ALikhach<span class=\\\"structural\\\">...</span></span>\",\"<span class=\\\"formatted\\\" title=\\\"https://api.github.com/users/Alefas/repos\\\">https://api.github.com/users/Alefas/r<span class=\\\"structural\\\">...</span></span>\",\"<span class=\\\"formatted\\\" title=\\\"https://api.github.com/users/AlexPl292/repos\\\">https://api.github.com/users/AlexPl29<span class=\\\"structural\\\">...</span></span>\"] }, \n",
       "{ name: \"<span title=\\\"events_url: String\\\">events_url</span>\", children: [], rightAlign: false, values: [\"<span class=\\\"formatted\\\" title=\\\"https://api.github.com/users/1anisim/events{/privacy}\\\">https://api.github.com/users/1anisim/<span class=\\\"structural\\\">...</span></span>\",\"<span class=\\\"formatted\\\" title=\\\"https://api.github.com/users/AI-shm/events{/privacy}\\\">https://api.github.com/users/AI-shm/e<span class=\\\"structural\\\">...</span></span>\",\"<span class=\\\"formatted\\\" title=\\\"https://api.github.com/users/ALikhachev/events{/privacy}\\\">https://api.github.com/users/ALikhach<span class=\\\"structural\\\">...</span></span>\",\"<span class=\\\"formatted\\\" title=\\\"https://api.github.com/users/Alefas/events{/privacy}\\\">https://api.github.com/users/Alefas/e<span class=\\\"structural\\\">...</span></span>\",\"<span class=\\\"formatted\\\" title=\\\"https://api.github.com/users/AlexPl292/events{/privacy}\\\">https://api.github.com/users/AlexPl29<span class=\\\"structural\\\">...</span></span>\"] }, \n",
       "{ name: \"<span title=\\\"received_events_url: String\\\">received_events_url</span>\", children: [], rightAlign: false, values: [\"<span class=\\\"formatted\\\" title=\\\"https://api.github.com/users/1anisim/received_events\\\">https://api.github.com/users/1anisim/<span class=\\\"structural\\\">...</span></span>\",\"<span class=\\\"formatted\\\" title=\\\"https://api.github.com/users/AI-shm/received_events\\\">https://api.github.com/users/AI-shm/r<span class=\\\"structural\\\">...</span></span>\",\"<span class=\\\"formatted\\\" title=\\\"https://api.github.com/users/ALikhachev/received_events\\\">https://api.github.com/users/ALikhach<span class=\\\"structural\\\">...</span></span>\",\"<span class=\\\"formatted\\\" title=\\\"https://api.github.com/users/Alefas/received_events\\\">https://api.github.com/users/Alefas/r<span class=\\\"structural\\\">...</span></span>\",\"<span class=\\\"formatted\\\" title=\\\"https://api.github.com/users/AlexPl292/received_events\\\">https://api.github.com/users/AlexPl29<span class=\\\"structural\\\">...</span></span>\"] }, \n",
       "{ name: \"<span title=\\\"type: String\\\">type</span>\", children: [], rightAlign: false, values: [\"User\",\"User\",\"User\",\"User\",\"User\"] }, \n",
       "{ name: \"<span title=\\\"site_admin: Boolean\\\">site_admin</span>\", children: [], rightAlign: false, values: [\"false\",\"false\",\"false\",\"false\",\"false\"] }, \n",
       "], id: -654311369, rootId: -654311371 } ) });\n",
       "/*-->*/\n",
       "\n",
       "call_DataFrame(function() { DataFrame.renderTable(-654311371) });\n",
       "\n",
       "\n",
       "        </script>\n",
       "        </html>"
      ]
     },
     "execution_count": 36,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "val jb1 = jb\n",
    "    .add(\"repos\") { readDf(repos_url) }\n",
    "    .add(\"members\") { readPaginatedEndpoint(\"${url}/public_members\") }\n",
    "jb1"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "pycharm": {
     "name": "#%% md\n"
    }
   },
   "source": [
    "But now we have repositories, each repository has contributors_url. If we want to download contributors, we need to add a new column to `repos`. "
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 37,
   "metadata": {
    "pycharm": {
     "name": "#%%\n"
    }
   },
   "outputs": [],
   "source": [
    "val jb2 = jb1\n",
    "    .convert { repos }.with { \n",
    "        it.add(\"contributors\") { readDf(contributors_url) }\n",
    "    }"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "pycharm": {
     "name": "#%% md\n"
    }
   },
   "source": [
    "Unfortunately, it gets worse when you need to add a new child column to some deeply nested column. Like, for example, downloading a list of followers for each contributor of each repository would require writing this code:\n",
    "```\n",
    "jb2.convert { repos }.with {\n",
    "    it.convert { \n",
    "        contributors \n",
    "    }.with { \n",
    "        it.add(\"followers\") { readDf(followers_url) } \n",
    "    }\n",
    "}\n",
    "```\n",
    "You can still do it, if you need to."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 38,
   "metadata": {
    "pycharm": {
     "name": "#%%\n"
    }
   },
   "outputs": [
    {
     "data": {
      "text/plain": [
       "login: String\n",
       "id: Int\n",
       "node_id: String\n",
       "url: String\n",
       "repos_url: String\n",
       "events_url: String\n",
       "hooks_url: String\n",
       "issues_url: String\n",
       "members_url: String\n",
       "public_members_url: String\n",
       "avatar_url: String\n",
       "description: String\n",
       "name: String\n",
       "company: Any?\n",
       "blog: String\n",
       "location: String\n",
       "email: Any?\n",
       "twitter_username: String\n",
       "is_verified: Boolean\n",
       "has_organization_projects: Boolean\n",
       "has_repository_projects: Boolean\n",
       "public_repos: Int\n",
       "public_gists: Int\n",
       "followers: Int\n",
       "following: Int\n",
       "html_url: String\n",
       "created_at: String\n",
       "updated_at: String\n",
       "type: String\n",
       "repos: *\n",
       "    id: Int\n",
       "    node_id: String\n",
       "    name: String\n",
       "    full_name: String\n",
       "    private: Boolean\n",
       "    owner:\n",
       "        login: String\n",
       "        id: Int\n",
       "        node_id: String\n",
       "        avatar_url: String\n",
       "        gravatar_id: String\n",
       "        url: String\n",
       "        html_url: String\n",
       "        followers_url: String\n",
       "        following_url: String\n",
       "        gists_url: String\n",
       "        starred_url: String\n",
       "        subscriptions_url: String\n",
       "        organizations_url: String\n",
       "        repos_url: String\n",
       "        events_url: String\n",
       "        received_events_url: String\n",
       "        type: String\n",
       "        site_admin: Boolean\n",
       "    html_url: String\n",
       "    description: String?\n",
       "    fork: Boolean\n",
       "    url: String\n",
       "    forks_url: String\n",
       "    keys_url: String\n",
       "    collaborators_url: String\n",
       "    teams_url: String\n",
       "    hooks_url: String\n",
       "    issue_events_url: String\n",
       "    events_url: String\n",
       "    assignees_url: String\n",
       "    branches_url: String\n",
       "    tags_url: String\n",
       "    blobs_url: String\n",
       "    git_tags_url: String\n",
       "    git_refs_url: String\n",
       "    trees_url: String\n",
       "    statuses_url: String\n",
       "    languages_url: String\n",
       "    stargazers_url: String\n",
       "    contributors_url: String\n",
       "    subscribers_url: String\n",
       "    subscription_url: String\n",
       "    commits_url: String\n",
       "    git_commits_url: String\n",
       "    comments_url: String\n",
       "    issue_comment_url: String\n",
       "    contents_url: String\n",
       "    compare_url: String\n",
       "    merges_url: String\n",
       "    archive_url: String\n",
       "    downloads_url: String\n",
       "    issues_url: String\n",
       "    pulls_url: String\n",
       "    milestones_url: String\n",
       "    notifications_url: String\n",
       "    labels_url: String\n",
       "    releases_url: String\n",
       "    deployments_url: String\n",
       "    created_at: String\n",
       "    updated_at: String\n",
       "    pushed_at: String\n",
       "    git_url: String\n",
       "    ssh_url: String\n",
       "    clone_url: String\n",
       "    svn_url: String\n",
       "    homepage: String?\n",
       "    size: Int\n",
       "    stargazers_count: Int\n",
       "    watchers_count: Int\n",
       "    language: String?\n",
       "    has_issues: Boolean\n",
       "    has_projects: Boolean\n",
       "    has_downloads: Boolean\n",
       "    has_wiki: Boolean\n",
       "    has_pages: Boolean\n",
       "    forks_count: Int\n",
       "    mirror_url: Any?\n",
       "    archived: Boolean\n",
       "    disabled: Boolean\n",
       "    open_issues_count: Int\n",
       "    license:\n",
       "        key: String?\n",
       "        name: String?\n",
       "        spdx_id: String?\n",
       "        url: String?\n",
       "        node_id: String?\n",
       "    allow_forking: Boolean\n",
       "    is_template: Boolean\n",
       "    topics: List<String>\n",
       "    visibility: String\n",
       "    forks: Int\n",
       "    open_issues: Int\n",
       "    watchers: Int\n",
       "    default_branch: String\n",
       "    permissions:\n",
       "        admin: Boolean\n",
       "        maintain: Boolean\n",
       "        push: Boolean\n",
       "        triage: Boolean\n",
       "        pull: Boolean\n",
       "    contributors: *\n",
       "members: *\n",
       "    login: String\n",
       "    id: Int\n",
       "    node_id: String\n",
       "    avatar_url: String\n",
       "    gravatar_id: String\n",
       "    url: String\n",
       "    html_url: String\n",
       "    followers_url: String\n",
       "    following_url: String\n",
       "    gists_url: String\n",
       "    starred_url: String\n",
       "    subscriptions_url: String\n",
       "    organizations_url: String\n",
       "    repos_url: String\n",
       "    events_url: String\n",
       "    received_events_url: String\n",
       "    type: String\n",
       "    site_admin: Boolean\n"
      ]
     },
     "execution_count": 38,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "jb2.schema()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "pycharm": {
     "name": "#%% md\n"
    }
   },
   "source": [
    "Resulting dataframe has a lot of columns. We can use `select` and `remove` to filter them. Both operations provide DSL for selecting arbitrary set of columns https://kotlin.github.io/dataframe/columnselectors.html"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 39,
   "metadata": {
    "pycharm": {
     "name": "#%%\n"
    }
   },
   "outputs": [],
   "source": [
    "val minifiedSample = jb2\n",
    "    .select { cols(url, name, repos, members) }\n",
    "    // Like before, we use convert to create dataframe with changed values in nested column\n",
    "    .convert { members }.with { it.remove { endsWith(\"_url\") } }\n",
    "    .convert { repos }.with { it.remove { endsWith(\"_url\").except(html_url) } }\n",
    "    .convert { repos }.with { it.remove { owner } }\n",
    "    .convert { repos }.with { \n",
    "        it.convert { contributors }.with { it.remove { endsWith(\"_url\") } } \n",
    "    }"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 40,
   "metadata": {
    "pycharm": {
     "name": "#%%\n"
    }
   },
   "outputs": [
    {
     "data": {
      "text/plain": [
       "url: String\n",
       "name: String\n",
       "repos: *\n",
       "    id: Int\n",
       "    node_id: String\n",
       "    name: String\n",
       "    full_name: String\n",
       "    private: Boolean\n",
       "    html_url: String\n",
       "    description: String?\n",
       "    fork: Boolean\n",
       "    url: String\n",
       "    created_at: String\n",
       "    updated_at: String\n",
       "    pushed_at: String\n",
       "    homepage: String?\n",
       "    size: Int\n",
       "    stargazers_count: Int\n",
       "    watchers_count: Int\n",
       "    language: String?\n",
       "    has_issues: Boolean\n",
       "    has_projects: Boolean\n",
       "    has_downloads: Boolean\n",
       "    has_wiki: Boolean\n",
       "    has_pages: Boolean\n",
       "    forks_count: Int\n",
       "    archived: Boolean\n",
       "    disabled: Boolean\n",
       "    open_issues_count: Int\n",
       "    license:\n",
       "        key: String?\n",
       "        name: String?\n",
       "        spdx_id: String?\n",
       "        url: String?\n",
       "        node_id: String?\n",
       "    allow_forking: Boolean\n",
       "    is_template: Boolean\n",
       "    topics: List<String>\n",
       "    visibility: String\n",
       "    forks: Int\n",
       "    open_issues: Int\n",
       "    watchers: Int\n",
       "    default_branch: String\n",
       "    permissions:\n",
       "        admin: Boolean\n",
       "        maintain: Boolean\n",
       "        push: Boolean\n",
       "        triage: Boolean\n",
       "        pull: Boolean\n",
       "    contributors: *\n",
       "members: *\n",
       "    login: String\n",
       "    id: Int\n",
       "    node_id: String\n",
       "    gravatar_id: String\n",
       "    url: String\n",
       "    type: String\n",
       "    site_admin: Boolean\n"
      ]
     },
     "execution_count": 40,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "minifiedSample.schema()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 41,
   "metadata": {
    "pycharm": {
     "name": "#%%\n"
    }
   },
   "outputs": [],
   "source": [
    "minifiedSample.writeJson(\"jetbrains.json\")"
   ]
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "Kotlin",
   "language": "kotlin",
   "name": "kotlin"
  },
  "language_info": {
   "codemirror_mode": "text/x-kotlin",
   "file_extension": ".kt",
   "mimetype": "text/x-kotlin",
   "name": "kotlin",
   "nbconvert_exporter": "",
   "pygments_lexer": "kotlin",
   "version": "1.8.0-dev-707"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 4
}
